haskell-src-exts 1.17.1 → 1.24.0
raw patch · 484 files changed
Files
- CHANGELOG +148/−24
- README.md +15/−25
- RELEASENOTES-1.17.0 +35/−0
- dist/build/Language/Haskell/Exts/InternalParser.hs +0/−9556
- haskell-src-exts.cabal +26/−35
- src/Language/Haskell/Exts.hs +50/−50
- src/Language/Haskell/Exts/Annotated.hs +0/−150
- src/Language/Haskell/Exts/Annotated/Build.hs +0/−291
- src/Language/Haskell/Exts/Annotated/Comments.hs +0/−176
- src/Language/Haskell/Exts/Annotated/ExactPrint.hs +0/−2138
- src/Language/Haskell/Exts/Annotated/Fixity.hs +0/−353
- src/Language/Haskell/Exts/Annotated/Parser.hs +0/−257
- src/Language/Haskell/Exts/Annotated/Simplify.hs +0/−614
- src/Language/Haskell/Exts/Annotated/Syntax.hs +0/−1835
- src/Language/Haskell/Exts/Build.hs +141/−137
- src/Language/Haskell/Exts/Comments.hs +178/−2
- src/Language/Haskell/Exts/ExactPrint.hs +2219/−0
- src/Language/Haskell/Exts/ExtScheme.hs +2/−0
- src/Language/Haskell/Exts/Extension.hs +53/−7
- src/Language/Haskell/Exts/Fixity.hs +234/−188
- src/Language/Haskell/Exts/InternalLexer.hs +125/−27
- src/Language/Haskell/Exts/InternalParser.ly +435/−199
- src/Language/Haskell/Exts/Lexer.hs +2/−0
- src/Language/Haskell/Exts/ParseMonad.hs +100/−69
- src/Language/Haskell/Exts/ParseSyntax.hs +34/−33
- src/Language/Haskell/Exts/ParseUtils.hs +195/−91
- src/Language/Haskell/Exts/Parser.hs +162/−135
- src/Language/Haskell/Exts/Pretty.hs +1717/−1949
- src/Language/Haskell/Exts/SrcLoc.hs +14/−5
- src/Language/Haskell/Exts/Syntax.hs +1952/−866
- src/Language/Preprocessor/Unlit.hs +72/−0
- tests/Extensions.hs +20/−2
- tests/Runner.hs +12/−12
- tests/examples/AmbiguousFixities.hs.exactprinter.golden +1/−1
- tests/examples/AmbiguousFixities.hs.parser.golden +1/−1
- tests/examples/AmbiguousFixities.hs.prettyparser.golden +1/−1
- tests/examples/AmbiguousFixities.hs.prettyprinter.golden +1/−1
- tests/examples/ArrowBrackets.hs +8/−0
- tests/examples/ArrowBrackets.hs.exactprinter.golden +1/−0
- tests/examples/ArrowBrackets.hs.parser.golden +541/−0
- tests/examples/ArrowBrackets.hs.prettyparser.golden +1/−0
- tests/examples/ArrowBrackets.hs.prettyprinter.golden +7/−0
- tests/examples/AtOperator.hs +8/−0
- tests/examples/AtOperator.hs.exactprinter.golden +1/−0
- tests/examples/AtOperator.hs.parser.golden +291/−0
- tests/examples/AtOperator.hs.prettyparser.golden +1/−0
- tests/examples/AtOperator.hs.prettyprinter.golden +6/−0
- tests/examples/AtSign.hs +17/−0
- tests/examples/AtSign.hs.exactprinter.golden +1/−0
- tests/examples/AtSign.hs.parser.golden +591/−0
- tests/examples/AtSign.hs.prettyparser.golden +1/−0
- tests/examples/AtSign.hs.prettyprinter.golden +9/−0
- tests/examples/Attributes.hs.parser.golden too large to diff
- tests/examples/Attributes.hs.prettyprinter.golden +46/−46
- tests/examples/BangViewPat.hs.prettyprinter.golden +0/−1
- tests/examples/BinaryLiteralsGood.hs.prettyparser.golden +10/−1
- tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden +0/−1
- tests/examples/BlockArguments.hs +16/−0
- tests/examples/BlockArguments.hs.exactprinter.golden +1/−0
- tests/examples/BlockArguments.hs.parser.golden +1099/−0
- tests/examples/BlockArguments.hs.prettyparser.golden +10/−0
- tests/examples/BlockArguments.hs.prettyprinter.golden +15/−0
- tests/examples/BracketInstanceHead.hs.parser.golden +34/−21
- tests/examples/BracketInstanceHead.hs.prettyprinter.golden +1/−3
- tests/examples/Bug.hs.prettyprinter.golden +0/−1
- tests/examples/Bundles.hs +4/−0
- tests/examples/Bundles.hs.exactprinter.golden +1/−0
- tests/examples/Bundles.hs.parser.golden +252/−0
- tests/examples/Bundles.hs.prettyparser.golden +1/−0
- tests/examples/Bundles.hs.prettyprinter.golden +4/−0
- tests/examples/ByteStringUtils.hs.prettyparser.golden +10/−1
- tests/examples/CApiFFI.hs.prettyprinter.golden +0/−1
- tests/examples/CParser.hs +0/−6323
- tests/examples/CParser.hs.exactprinter.golden +0/−1
- tests/examples/CParser.hs.parser.golden too large to diff
- tests/examples/CParser.hs.prettyparser.golden +0/−10
- tests/examples/CParser.hs.prettyprinter.golden +0/−6540
- tests/examples/ClassContext.hs.parser.golden +65/−52
- tests/examples/ClassContext.hs.prettyprinter.golden +0/−2
- tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden +0/−2
- tests/examples/ClosedTypeFamily.hs.parser.golden +1/−0
- tests/examples/Completesig03A.hs +6/−0
- tests/examples/Completesig03A.hs.exactprinter.golden +1/−0
- tests/examples/Completesig03A.hs.parser.golden +123/−0
- tests/examples/Completesig03A.hs.prettyparser.golden +1/−0
- tests/examples/Completesig03A.hs.prettyprinter.golden +6/−0
- tests/examples/ConstraintKinds.hs.parser.golden +55/−35
- tests/examples/ConstraintKinds.hs.prettyprinter.golden +1/−2
- tests/examples/ConstraintKinds2.hs.parser.golden +15/−7
- tests/examples/ConstraintKinds2.hs.prettyprinter.golden +0/−1
- tests/examples/ConstraintKinds3.hs.parser.golden +33/−19
- tests/examples/ConstraintKinds3.hs.prettyprinter.golden +0/−1
- tests/examples/ConstructorAndClassOperators.hs.parser.golden +93/−43
- tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden +0/−1
- tests/examples/ContextOrdering.hs +5/−0
- tests/examples/ContextOrdering.hs.exactprinter.golden +1/−0
- tests/examples/ContextOrdering.hs.parser.golden +208/−0
- tests/examples/ContextOrdering.hs.prettyparser.golden +1/−0
- tests/examples/ContextOrdering.hs.prettyprinter.golden +5/−0
- tests/examples/CxtWhitespace.hs.parser.golden +90/−55
- tests/examples/CxtWhitespace.hs.prettyprinter.golden +0/−2
- tests/examples/DataHeadParen.hs.parser.golden +1/−1
- tests/examples/DataHeadParen.hs.prettyprinter.golden +1/−1
- tests/examples/DataKinds.hs.parser.golden +33/−46
- tests/examples/DataKinds.hs.prettyprinter.golden +0/−1
- tests/examples/DataKinds2.hs.parser.golden +1/−1
- tests/examples/DataKinds2.hs.prettyprinter.golden +1/−2
- tests/examples/DefaultSignatures.hs.parser.golden +34/−20
- tests/examples/DefaultSignatures.hs.prettyprinter.golden +0/−1
- tests/examples/DeriveGeneric.hs.parser.golden +32/−31
- tests/examples/DeriveGeneric.hs.prettyprinter.golden +1/−2
- tests/examples/DerivingParen.hs.parser.golden +72/−71
- tests/examples/DerivingParen.hs.prettyprinter.golden +2/−6
- tests/examples/DerivingStrategies.hs +18/−0
- tests/examples/DerivingStrategies.hs.exactprinter.golden +1/−0
- tests/examples/DerivingStrategies.hs.parser.golden +849/−0
- tests/examples/DerivingStrategies.hs.prettyparser.golden +1/−0
- tests/examples/DerivingStrategies.hs.prettyprinter.golden +21/−0
- tests/examples/DerivingVia.hs +459/−0
- tests/examples/DerivingVia.hs.exactprinter.golden +460/−0
- tests/examples/DerivingVia.hs.parser.golden +32882/−0
- tests/examples/DerivingVia.hs.prettyparser.golden +1/−0
- tests/examples/DerivingVia.hs.prettyprinter.golden +418/−0
- tests/examples/DerivingVia2.hs +41/−0
- tests/examples/DerivingVia2.hs.exactprinter.golden +42/−0
- tests/examples/DerivingVia2.hs.parser.golden +2346/−0
- tests/examples/DerivingVia2.hs.prettyparser.golden +1/−0
- tests/examples/DerivingVia2.hs.prettyprinter.golden +47/−0
- tests/examples/DerivingViaStealing.hs +5/−0
- tests/examples/DerivingViaStealing.hs.exactprinter.golden +1/−0
- tests/examples/DerivingViaStealing.hs.parser.golden +201/−0
- tests/examples/DerivingViaStealing.hs.prettyparser.golden +1/−0
- tests/examples/DerivingViaStealing.hs.prettyprinter.golden +4/−0
- tests/examples/Directory.hs.parser.golden +178/−137
- tests/examples/Directory.hs.prettyprinter.golden +1/−1
- tests/examples/DoRec.hs.prettyprinter.golden +0/−1
- tests/examples/DsStrictData.hs +48/−0
- tests/examples/DsStrictData.hs.exactprinter.golden +1/−0
- tests/examples/DsStrictData.hs.parser.golden +3591/−0
- tests/examples/DsStrictData.hs.prettyparser.golden +1/−0
- tests/examples/DsStrictData.hs.prettyprinter.golden +45/−0
- tests/examples/EmptyAnn.hs.prettyprinter.golden +0/−1
- tests/examples/EmptyCase.hs +6/−0
- tests/examples/EmptyCase.hs.exactprinter.golden +1/−0
- tests/examples/EmptyCase.hs.parser.golden +159/−0
- tests/examples/EmptyCase.hs.prettyparser.golden +1/−0
- tests/examples/EmptyCase.hs.prettyprinter.golden +4/−0
- tests/examples/EmptyContext.hs.prettyparser.golden +1/−10
- tests/examples/EmptyContext.hs.prettyprinter.golden +1/−3
- tests/examples/EmptyInstance.hs.prettyprinter.golden +1/−3
- tests/examples/EmptyWhere.hs.prettyprinter.golden +0/−1
- tests/examples/EqualityConstraints1.hs.parser.golden +32/−19
- tests/examples/EqualityConstraints1.hs.prettyprinter.golden +0/−1
- tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden +0/−1
- tests/examples/ExplicitNamespaces3.hs.parser.golden +1/−1
- tests/examples/ExplicitNamespaces4.hs +5/−0
- tests/examples/ExplicitNamespaces4.hs.exactprinter.golden +6/−0
- tests/examples/ExplicitNamespaces4.hs.parser.golden +171/−0
- tests/examples/ExplicitNamespaces4.hs.prettyparser.golden +1/−0
- tests/examples/ExplicitNamespaces4.hs.prettyprinter.golden +5/−0
- tests/examples/ExprHole.hs.parser.golden +50/−8
- tests/examples/ExprHole.hs.prettyprinter.golden +0/−1
- tests/examples/ExtraPrettyParentheses.hs.parser.golden +1/−1
- tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden +2/−2
- tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden +0/−2
- tests/examples/FFIExtensions.hs.prettyprinter.golden +1/−1
- tests/examples/FFIInterruptible.hs.prettyprinter.golden +0/−1
- tests/examples/FamilyKindSig.hs.parser.golden +4/−3
- tests/examples/Fixity2.hs.prettyprinter.golden +0/−1
- tests/examples/Fixity3.hs.parser.golden +34/−20
- tests/examples/Fixity3.hs.prettyprinter.golden +0/−2
- tests/examples/FixityTests.hs.prettyprinter.golden +0/−1
- tests/examples/FlexibleContextsWithoutVars.hs +3/−0
- tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden +1/−0
- tests/examples/FlexibleContextsWithoutVars.hs.parser.golden +187/−0
- tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden +1/−0
- tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden +4/−0
- tests/examples/ForallInInstance.hs.parser.golden +34/−21
- tests/examples/ForallInInstance.hs.prettyprinter.golden +1/−1
- tests/examples/ForeignImport.hs.prettyprinter.golden +0/−2
- tests/examples/ForeignImportJavascript.hs.prettyprinter.golden +0/−1
- tests/examples/GADTRecord.hs.parser.golden +3/−1
- tests/examples/GADTRecord.hs.prettyprinter.golden +0/−1
- tests/examples/GADTRecord2.hs +4/−0
- tests/examples/GADTRecord2.hs.exactprinter.golden +1/−0
- tests/examples/GADTRecord2.hs.parser.golden +137/−0
- tests/examples/GADTRecord2.hs.prettyparser.golden +1/−0
- tests/examples/GADTRecord2.hs.prettyprinter.golden +4/−0
- tests/examples/GadtDeriving.hs.parser.golden +85/−82
- tests/examples/GadtDeriving.hs.prettyprinter.golden +0/−1
- tests/examples/GadtRecordFields.hs.parser.golden +5/−1
- tests/examples/GadtRecordFields.hs.prettyprinter.golden +0/−1
- tests/examples/GadtStrictness.hs.parser.golden +9/−3
- tests/examples/GadtStrictness.hs.prettyprinter.golden +0/−1
- tests/examples/GenericTree.hs.parser.golden +62/−38
- tests/examples/GhcDeriving.hs.parser.golden +107/−106
- tests/examples/GhcDeriving.hs.prettyprinter.golden +1/−3
- tests/examples/HaddockComments.hs.parser.golden +1/−1
- tests/examples/HashOperator.hs +6/−0
- tests/examples/HashOperator.hs.exactprinter.golden +1/−0
- tests/examples/HashOperator.hs.parser.golden +237/−0
- tests/examples/HashOperator.hs.prettyparser.golden +1/−0
- tests/examples/HashOperator.hs.prettyprinter.golden +6/−0
- tests/examples/HaskellParser.hs.prettyprinter.golden +0/−1
- tests/examples/IllDataTypeDecl.hs.parser.golden +1/−1
- tests/examples/IllDataTypeDecl.hs.prettyprinter.golden +1/−1
- tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden +0/−1
- tests/examples/ImportQualifiedPost.hs +4/−0
- tests/examples/ImportQualifiedPost.hs.exactprinter.golden +1/−0
- tests/examples/ImportQualifiedPost.hs.parser.golden +89/−0
- tests/examples/ImportQualifiedPost.hs.prettyparser.golden +1/−0
- tests/examples/ImportQualifiedPost.hs.prettyprinter.golden +3/−0
- tests/examples/IndentedWhere.hs.prettyprinter.golden +0/−1
- tests/examples/InfixApp.hs.prettyprinter.golden +0/−1
- tests/examples/InfixBang.hs +3/−0
- tests/examples/InfixBang.hs.exactprinter.golden +1/−0
- tests/examples/InfixBang.hs.parser.golden +122/−0
- tests/examples/InfixBang.hs.prettyparser.golden +1/−0
- tests/examples/InfixBang.hs.prettyprinter.golden +2/−0
- tests/examples/InfixFunBind.hs.prettyprinter.golden +1/−2
- tests/examples/InfixTypeMinus.hs.parser.golden +238/−162
- tests/examples/InjectiveTypeFamilies.hs +255/−0
- tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden +1/−0
- tests/examples/InjectiveTypeFamilies.hs.parser.golden +15848/−0
- tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden +1/−0
- tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden +253/−0
- tests/examples/InlineConlike.hs.prettyprinter.golden +0/−2
- tests/examples/InstanceSigs.hs.prettyprinter.golden +0/−1
- tests/examples/LanguagePragma.hs.prettyprinter.golden +0/−1
- tests/examples/Lib.hs +17/−0
- tests/examples/Lib.hs.exactprinter.golden +1/−0
- tests/examples/Lib.hs.parser.golden +672/−0
- tests/examples/Lib.hs.prettyparser.golden +1/−0
- tests/examples/Lib.hs.prettyprinter.golden +16/−0
- tests/examples/List2.hs +35/−0
- tests/examples/List2.hs.exactprinter.golden +36/−0
- tests/examples/List2.hs.parser.golden +427/−0
- tests/examples/List2.hs.prettyparser.golden +1/−0
- tests/examples/List2.hs.prettyprinter.golden +22/−0
- tests/examples/MagicHashN.hs +7/−0
- tests/examples/MagicHashN.hs.exactprinter.golden +1/−0
- tests/examples/MagicHashN.hs.parser.golden +262/−0
- tests/examples/MagicHashN.hs.prettyparser.golden +1/−0
- tests/examples/MagicHashN.hs.prettyprinter.golden +6/−0
- tests/examples/MinimalPragma.hs.prettyprinter.golden +0/−2
- tests/examples/MultiCtxt.hs.parser.golden +63/−38
- tests/examples/MultiLinePragma.hs.prettyprinter.golden +0/−1
- tests/examples/MultiParam.hs +4/−0
- tests/examples/MultiParam.hs.exactprinter.golden +1/−0
- tests/examples/MultiParam.hs.parser.golden +215/−0
- tests/examples/MultiParam.hs.prettyparser.golden +1/−0
- tests/examples/MultiParam.hs.prettyprinter.golden +4/−0
- tests/examples/NPlusK.hs.prettyprinter.golden +0/−1
- tests/examples/NegativePatterns.hs.parser.golden +1/−1
- tests/examples/NegativePatterns.hs.prettyprinter.golden +0/−1
- tests/examples/NoStartNumIdents.hs +1/−0
- tests/examples/NoStartNumIdents.hs.exactprinter.golden +1/−0
- tests/examples/NoStartNumIdents.hs.parser.golden +3/−0
- tests/examples/NoStartNumIdents.hs.prettyparser.golden +1/−0
- tests/examples/NoStartNumIdents.hs.prettyprinter.golden +1/−0
- tests/examples/Nounpack2.hs +3/−0
- tests/examples/Nounpack2.hs.exactprinter.golden +1/−0
- tests/examples/Nounpack2.hs.parser.golden +96/−0
- tests/examples/Nounpack2.hs.prettyparser.golden +1/−0
- tests/examples/Nounpack2.hs.prettyprinter.golden +1/−0
- tests/examples/OptionsPragma.hs.prettyprinter.golden +0/−1
- tests/examples/Overlapable.hs.prettyprinter.golden +0/−2
- tests/examples/Overlapping.hs +25/−0
- tests/examples/Overlapping.hs.exactprinter.golden +1/−0
- tests/examples/Overlapping.hs.parser.golden +730/−0
- tests/examples/Overlapping.hs.prettyparser.golden +1/−0
- tests/examples/Overlapping.hs.prettyprinter.golden +18/−0
- tests/examples/OverloadedLabels.hs +29/−0
- tests/examples/OverloadedLabels.hs.exactprinter.golden +1/−0
- tests/examples/OverloadedLabels.hs.parser.golden +911/−0
- tests/examples/OverloadedLabels.hs.prettyparser.golden +1/−0
- tests/examples/OverloadedLabels.hs.prettyprinter.golden +21/−0
- tests/examples/ParallelArrays.hs.prettyprinter.golden +0/−1
- tests/examples/ParallelListComp.hs.prettyprinter.golden +0/−1
- tests/examples/PartialSignatures.hs.parser.golden +467/−255
- tests/examples/PartialSignatures.hs.prettyprinter.golden +6/−7
- tests/examples/PatSynFix.hs +3/−0
- tests/examples/PatSynFix.hs.exactprinter.golden +1/−0
- tests/examples/PatSynFix.hs.parser.golden +381/−0
- tests/examples/PatSynFix.hs.prettyparser.golden +1/−0
- tests/examples/PatSynFix.hs.prettyprinter.golden +5/−0
- tests/examples/PatternSplice.hs +6/−0
- tests/examples/PatternSplice.hs.exactprinter.golden +1/−0
- tests/examples/PatternSplice.hs.parser.golden +235/−0
- tests/examples/PatternSplice.hs.prettyparser.golden +1/−0
- tests/examples/PatternSplice.hs.prettyprinter.golden +6/−0
- tests/examples/PatternSynonymSignatures.hs.parser.golden +233/−147
- tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden +2/−3
- tests/examples/PatternSynonyms.hs.prettyprinter.golden +0/−1
- tests/examples/PatternSynonyms3.hs.parser.golden +230/−168
- tests/examples/PatternSynonyms3.hs.prettyprinter.golden +1/−2
- tests/examples/PolyKindSigs.hs.parser.golden +6/−4
- tests/examples/PolyKinds.hs.parser.golden +1/−1
- tests/examples/PolyKinds.hs.prettyprinter.golden +0/−1
- tests/examples/Ppr048.hs +10/−0
- tests/examples/Ppr048.hs.exactprinter.golden +1/−0
- tests/examples/Ppr048.hs.parser.golden +2/−0
- tests/examples/Ppr048.hs.prettyparser.golden +1/−0
- tests/examples/Ppr048.hs.prettyprinter.golden +1/−0
- tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden +10/−1
- tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden +0/−1
- tests/examples/PromotedSpace.hs +20/−0
- tests/examples/PromotedSpace.hs.exactprinter.golden +1/−0
- tests/examples/PromotedSpace.hs.parser.golden +617/−0
- tests/examples/PromotedSpace.hs.prettyparser.golden +1/−0
- tests/examples/PromotedSpace.hs.prettyprinter.golden +14/−0
- tests/examples/QualifiedQQuote.hs.prettyprinter.golden +0/−1
- tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden +0/−1
- tests/examples/QuantifiedConstraints.hs +4/−0
- tests/examples/QuantifiedConstraints.hs.exactprinter.golden +1/−0
- tests/examples/QuantifiedConstraints.hs.parser.golden +222/−0
- tests/examples/QuantifiedConstraints.hs.prettyparser.golden +1/−0
- tests/examples/QuantifiedConstraints.hs.prettyprinter.golden +4/−0
- tests/examples/QuasiQuoteExpr2.hs +0/−3
- tests/examples/QuasiQuoteExpr2.hs.exactprinter.golden +0/−4
- tests/examples/QuasiQuoteExpr2.hs.parser.golden +0/−69
- tests/examples/QuasiQuoteExpr2.hs.prettyparser.golden +0/−1
- tests/examples/QuasiQuoteExpr2.hs.prettyprinter.golden +0/−3
- tests/examples/QuasiQuoteLines.hs.prettyprinter.golden +0/−1
- tests/examples/QuasiQuoteOld.hs.prettyprinter.golden +0/−1
- tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden +0/−1
- tests/examples/QuasiQuoteSplice.hs.parser.golden +1/−1
- tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden +0/−1
- tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden +0/−1
- tests/examples/QuasiQuoteUnit.hs +5/−0
- tests/examples/QuasiQuoteUnit.hs.exactprinter.golden +1/−0
- tests/examples/QuasiQuoteUnit.hs.parser.golden +139/−0
- tests/examples/QuasiQuoteUnit.hs.prettyparser.golden +1/−0
- tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden +3/−0
- tests/examples/RCategory.hs.parser.golden +1990/−1707
- tests/examples/RCategory2.hs.parser.golden +14/−9
- tests/examples/RCategory2.hs.prettyprinter.golden +0/−1
- tests/examples/RCategory3.hs.prettyprinter.golden +0/−1
- tests/examples/ReadP.hs.parser.golden +9/−4
- tests/examples/ReadP.hs.prettyprinter.golden +0/−1
- tests/examples/RealGHC.lhs.parser.golden too large to diff
- tests/examples/RecordInfixSelector.hs.parser.golden +1/−1
- tests/examples/RecordInfixSelector.hs.prettyprinter.golden +0/−2
- tests/examples/RecordPatternSynonyms.hs +16/−0
- tests/examples/RecordPatternSynonyms.hs.exactprinter.golden +1/−0
- tests/examples/RecordPatternSynonyms.hs.parser.golden +688/−0
- tests/examples/RecordPatternSynonyms.hs.prettyparser.golden +1/−0
- tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden +15/−0
- tests/examples/RecursiveDo.hs.prettyprinter.golden +0/−1
- tests/examples/RoleAnnotations.hs.parser.golden +5/−5
- tests/examples/RoleAnnotations2.hs +9/−0
- tests/examples/RoleAnnotations2.hs.exactprinter.golden +1/−0
- tests/examples/RoleAnnotations2.hs.parser.golden +379/−0
- tests/examples/RoleAnnotations2.hs.prettyparser.golden +1/−0
- tests/examples/RoleAnnotations2.hs.prettyprinter.golden +9/−0
- tests/examples/Rules.hs.prettyprinter.golden +0/−2
- tests/examples/SafeImports1.hs.prettyprinter.golden +0/−1
- tests/examples/SafeImports2.hs.prettyprinter.golden +0/−1
- tests/examples/SafeImports3.hs.prettyprinter.golden +0/−1
- tests/examples/ScopedTypeVariables.hs.parser.golden +34/−21
- tests/examples/ScopedTypeVariables.hs.prettyprinter.golden +0/−1
- tests/examples/SimpleDeriving.hs.parser.golden +37/−36
- tests/examples/SimpleDeriving.hs.prettyprinter.golden +1/−4
- tests/examples/SingleClassAsst.hs.parser.golden +31/−20
- tests/examples/SpecializeInstance.hs.parser.golden +34/−21
- tests/examples/SpecializeInstance.hs.prettyprinter.golden +0/−2
- tests/examples/SpecializePhaseControl.hs.parser.golden +127/−80
- tests/examples/SpecializePhaseControl.hs.prettyprinter.golden +0/−2
- tests/examples/StarInType.hs +5/−0
- tests/examples/StarInType.hs.exactprinter.golden +6/−0
- tests/examples/StarInType.hs.parser.golden +287/−0
- tests/examples/StarInType.hs.prettyparser.golden +1/−0
- tests/examples/StarInType.hs.prettyprinter.golden +8/−0
- tests/examples/T11727.hs +8/−0
- tests/examples/T11727.hs.exactprinter.golden +1/−0
- tests/examples/T11727.hs.parser.golden +180/−0
- tests/examples/T11727.hs.prettyparser.golden +1/−0
- tests/examples/T11727.hs.prettyprinter.golden +8/−0
- tests/examples/T13050.hs +7/−0
- tests/examples/T13050.hs.exactprinter.golden +1/−0
- tests/examples/T13050.hs.parser.golden +439/−0
- tests/examples/T13050.hs.prettyparser.golden +1/−0
- tests/examples/T13050.hs.prettyprinter.golden +6/−0
- tests/examples/T326.hs +4/−0
- tests/examples/T326.hs.exactprinter.golden +1/−0
- tests/examples/T326.hs.parser.golden +116/−0
- tests/examples/T326.hs.prettyparser.golden +1/−0
- tests/examples/T326.hs.prettyprinter.golden +3/−0
- tests/examples/THTSplices.hs.prettyprinter.golden +0/−1
- tests/examples/THTypedSplices.hs +6/−0
- tests/examples/THTypedSplices.hs.exactprinter.golden +7/−0
- tests/examples/THTypedSplices.hs.parser.golden +177/−0
- tests/examples/THTypedSplices.hs.prettyparser.golden +1/−0
- tests/examples/THTypedSplices.hs.prettyprinter.golden +4/−0
- tests/examples/TabWhitespace.hs.prettyprinter.golden +1/−1
- tests/examples/TemplateHaskellQuotedNames.hs +3/−0
- tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden +1/−0
- tests/examples/TemplateHaskellQuotedNames.hs.parser.golden +246/−0
- tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden +1/−0
- tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden +3/−0
- tests/examples/TensorTests.hs +20/−0
- tests/examples/TensorTests.hs.exactprinter.golden +1/−0
- tests/examples/TensorTests.hs.parser.golden +965/−0
- tests/examples/TensorTests.hs.prettyparser.golden +1/−0
- tests/examples/TensorTests.hs.prettyprinter.golden +18/−0
- tests/examples/Testing.hs.prettyprinter.golden +0/−1
- tests/examples/TrailingWhere.hs.prettyprinter.golden +0/−1
- tests/examples/TrailingWhere2.hs.parser.golden +1/−1
- tests/examples/TrailingWhere2.hs.prettyprinter.golden +0/−2
- tests/examples/TrailingWhere3.hs.prettyprinter.golden +0/−1
- tests/examples/TupleSections.hs.prettyprinter.golden +0/−1
- tests/examples/TyQuasiQuote.hs +3/−0
- tests/examples/TyQuasiQuote.hs.exactprinter.golden +1/−0
- tests/examples/TyQuasiQuote.hs.parser.golden +109/−0
- tests/examples/TyQuasiQuote.hs.prettyparser.golden +1/−0
- tests/examples/TyQuasiQuote.hs.prettyprinter.golden +4/−0
- tests/examples/TySplice.hs.prettyprinter.golden +0/−1
- tests/examples/TySplice2.hs.prettyprinter.golden +0/−1
- tests/examples/TySplice3.hs.prettyprinter.golden +0/−1
- tests/examples/TySplice4.hs.prettyprinter.golden +0/−1
- tests/examples/TypeEqualityParen.hs.parser.golden +53/−35
- tests/examples/TypeEqualityParen.hs.prettyprinter.golden +0/−1
- tests/examples/TypeFunctions.hs.parser.golden +16/−10
- tests/examples/TypeFunctions.hs.prettyprinter.golden +0/−1
- tests/examples/TypeInstances.hs.parser.golden +64/−47
- tests/examples/TypeInstances.hs.prettyprinter.golden +0/−1
- tests/examples/TypeListCons.hs.parser.golden +111/−176
- tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden +0/−1
- tests/examples/TypeOperatorsTest.hs.parser.golden +58/−39
- tests/examples/TypeOperatorsTest.hs.prettyprinter.golden +0/−1
- tests/examples/UnboxedSingleton.hs.prettyprinter.golden +0/−1
- tests/examples/UnboxedTuples.hs.prettyprinter.golden +1/−2
- tests/examples/Unicode.hs.parser.golden +54/−36
- tests/examples/Unicode2.hs.prettyprinter.golden +0/−1
- tests/examples/UnicodeArrow.hs.prettyprinter.golden +0/−1
- tests/examples/UnicodeIdents.hs +2/−0
- tests/examples/UnicodeIdents.hs.exactprinter.golden +1/−0
- tests/examples/UnicodeIdents.hs.parser.golden +155/−0
- tests/examples/UnicodeIdents.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeIdents.hs.prettyprinter.golden +2/−0
- tests/examples/UnicodeRelation.hs.prettyprinter.golden +0/−1
- tests/examples/UnicodeSubscript.hs.parser.golden +46/−45
- tests/examples/UnicodeSubscript.hs.prettyprinter.golden +1/−1
- tests/examples/UnicodeSuperscript.hs.prettyprinter.golden +0/−1
- tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden +0/−1
- tests/examples/Unpack.hs.parser.golden +18/−8
- tests/examples/Unpack.hs.prettyprinter.golden +0/−1
- tests/examples/ViewPatterns.hs.prettyprinter.golden +0/−1
- tests/examples/Vta1.hs +95/−0
- tests/examples/Vta1.hs.exactprinter.golden +1/−0
- tests/examples/Vta1.hs.parser.golden +5436/−0
- tests/examples/Vta1.hs.prettyparser.golden +1/−0
- tests/examples/Vta1.hs.prettyprinter.golden +79/−0
- tests/examples/Vta2.hs +14/−0
- tests/examples/Vta2.hs.exactprinter.golden +1/−0
- tests/examples/Vta2.hs.parser.golden +992/−0
- tests/examples/Vta2.hs.prettyparser.golden +1/−0
- tests/examples/Vta2.hs.prettyprinter.golden +12/−0
- tests/examples/WhereBlock.hs.prettyprinter.golden +0/−1
- tests/examples/WildcardTyFam.hs +4/−0
- tests/examples/WildcardTyFam.hs.exactprinter.golden +1/−0
- tests/examples/WildcardTyFam.hs.parser.golden +122/−0
- tests/examples/WildcardTyFam.hs.prettyparser.golden +1/−0
- tests/examples/WildcardTyFam.hs.prettyprinter.golden +4/−0
- tests/examples/brackets.hs +44/−0
- tests/examples/brackets.hs.exactprinter.golden +1/−0
- tests/examples/brackets.hs.parser.golden +2/−0
- tests/examples/brackets.hs.prettyparser.golden +1/−0
- tests/examples/brackets.hs.prettyprinter.golden +1/−0
- tests/examples/completesig01.hs +23/−0
- tests/examples/completesig01.hs.exactprinter.golden +1/−0
- tests/examples/completesig01.hs.parser.golden +681/−0
- tests/examples/completesig01.hs.prettyparser.golden +1/−0
- tests/examples/completesig01.hs.prettyprinter.golden +27/−0
- tests/examples/t403.hs +9/−0
- tests/examples/t403.hs.exactprinter.golden +10/−0
- tests/examples/t403.hs.parser.golden +520/−0
- tests/examples/t403.hs.prettyparser.golden +1/−0
- tests/examples/t403.hs.prettyprinter.golden +11/−0
- tests/examples/t412.hs +8/−0
- tests/examples/t412.hs.exactprinter.golden +1/−0
- tests/examples/t412.hs.parser.golden +166/−0
- tests/examples/t412.hs.prettyparser.golden +1/−0
- tests/examples/t412.hs.prettyprinter.golden +5/−0
CHANGELOG view
@@ -1,3 +1,127 @@+1.23.1 --> 1.24.0+=================+* Support ImportQualifiedPost (#477)+ - Technically breaking change: KnownExtension gained a new constructor ImportQualifiedPost+* Fix pretty printing of promoted list/tuple with space padding (#423)+* Fix lexing of operator symbols like @: when TypeApplications is enabled (#430)+* Read files strictly before closing to prevent resource leaks (#460)+* Add Safe Haskell annotations to many modules (#465)+* Remove noncanonical return and mappend definitions (#481)+* Solve some compiler warnings (#464)+* Performance optimization: use strict accumulators in lexString and parseInteger (#479)+++1.23.0 --> 1.23.1+=================+* show instance for SrcLoc and SrcSpan renders "(-1)" instead of "-1"+* Allow empty closed type families (#452)+++1.22.0 --> 1.23.0+=================+* Add support for BlockArguments (#444)+ - Technically breaking change: KnownExtension gained a new constructor BlockArguments+* Add support for Arrow Brackets (#445)+ - Tecnically breaking change: Exp gained new constructor ArrOp++1.21.1 --> 1.22.0+=================+* Support QuantifiedConstraints (#427)+ - Breaking change: constructors for PAsst changed+ - Technically breaking change: KnownExtention gained a new constructor QuantifiedConstraints+* Support Template Haskell typed splices and quotations (#432)+ - Breaking change: new constructors on Token data type+* Fix unicode identifier parsing (#442)++1.21.0 --> 1.21.1+=================+* GHC 8.8.1 compatibility (MonadFail)++1.20.3 --> 1.21.0+=================+* DerivingVia (#420)+* TypeInType (#414)+* Parse TH-quoted list constructor (#415)++1.20.2 --> 1.20.3+=================+* GHC 8.6.1 compatability (MonadFail)+* Remove cpphs dependency++1.20.1 --> 1.20.2+=================+* Add fixity of (&)+* GHC 8.4.1 compatability++1.20.0 --> 1.20.1+===================+* Fix two test failures++1.19.1 --> 1.20.0+===================++* GHC 8.2 updates+* Add some missing Generics instances (#380)+* Support Template Haskell pattern splices (#352)+* Fix overloaded labels starting with _ (#362)+* Relax MultiParamTypeClass check (#333)+* DeriveAnyClass (#337)+* Deriving Strategies (#387)+* OVERLAPS/OVERLAPPING/OVERLAPPABLE pragmas+* Unboxed Sums+* Expression holes in infix expressions+* Support multiple pattern synonyms per pattern synonym signature+* COMPLETE pragmas+* Fix #309, remove unnecessary semi-colon from pretty printer+* Refine ExplicitNamespaces to properly export type operators++1.19.0 --> 1.19.1+===================++* Revert making fields of `SrcLoc` strict. (#340)+++1.18.2 --> 1.19.0+===================++* Add JavaScriptFFI to known extensions (#335)+* Remove space when pretty printing `SrcLoc`. (#307)+* Don't reverse arguments in a context. (#328)+* Add support for EmptyCase extension (#255)+++1.18.1 --> 1.18.2+===================++* Fix overzealous lexing of type applications++1.18.0 --> 1.18.1+===================++* Fix overzealous lexing of overloaded labels.+++1.17.1 --> 1.18.0+===================++* Remove simplified AST+* GHC 8.0 update: Overloaded labels, type applications, pattern synonym+extensions, StrictData, injective type families++AST changes:++* Add TyQuasiQuote (#279).++Other changes:++* Only treat 'role' as a keyword in certain contexts (#286).+* Prettyprint '!' in patterns correctly when BangPatterns are enabled (#287).+* Parse magic hash with multiple trailing hashes (#300).+* Apply fixities inside pattern synonym builders+* Fix lexing of idents with multiple trailing #++** 1.17.x+ 1.17.0 --> 1.17.1 ================= @@ -162,16 +286,16 @@ * Modernize the Extension datatype in L.H.E.Extension, following the lead of Cabal, to allow negative and positive extension modifiers (turning- features on and off). You need to worry about backwards-incompatible + features on and off). You need to worry about backwards-incompatible changes if any of the following pertains to you: 1) If you use the Extension datatype programmatically - it has changed significantly (see documentation). 2) The ParseMode record now has one more field (baseLanguage :: Language), which might give you a type error. 3) The behavior of the (extensions :: [Extension]) field has changed,- which could bite you if you pass custom extensions in the ParseMode. - Previously, the ParseMode defaulted to the list of extensions accepted - by Haskell2010, and if you set the list explicitly you would override + which could bite you if you pass custom extensions in the ParseMode.+ Previously, the ParseMode defaulted to the list of extensions accepted+ by Haskell2010, and if you set the list explicitly you would override this. Now, the defaults are { baseLanguage = Haskell2010, extensions = [] }, and explicitly setting a list of extensions will be interpreted on top of Haskell2010. See further the documentation for L.H.E.Extension.@@ -216,7 +340,7 @@ * Expose Language.Haskell.Exts.Lexer, which implements a standalone token stream lexer. The module is- re-exported both by Language.Haskell.Exts and by + re-exported both by Language.Haskell.Exts and by Language.Haskell.Exts.Annotated. @@ -224,12 +348,12 @@ =============== * Fix bug where operators starting with # written in- parentheses would not be parsed when UnboxedTuples is + parentheses would not be parsed when UnboxedTuples is turned on. Now works. -* Allow 'family' and 'forall' as (non-type) varid's. This - adds one more shift/reduce conflict to the parser, and - its resolution means that '{-# RULES "name" forall = ... #-}' +* Allow 'family' and 'forall' as (non-type) varid's. This+ adds one more shift/reduce conflict to the parser, and+ its resolution means that '{-# RULES "name" forall = ... #-}' is not allowed. * Complete the set of FFI calling conventions from the Haskell@@ -390,12 +514,12 @@ 1.9.3 --> 1.9.4 =============== -* Pretty-printer now inserts parentheses in clever places when +* Pretty-printer now inserts parentheses in clever places when printing kinds. * Pretty-printing expressions is now far more accurate in inserting (and not inserting) parentheses when needed.- + * Pretty-printing negative expressions no longer inserts a superfluous space between the - and the expression. @@ -461,11 +585,11 @@ * Export knownExtensions from .Extension. -* Remove support for CFILES and INCLUDE pragmas. The support wasn't - correct anyway, as it assumed the pragmas appeared at the top of - files. As CFILES/INCLUDE pragmas can (and do) appear anywhere, - there's no hope to support them in the AST. Better to remove the - support altogether. Files with CFILES/INCLUDE pragmas can still +* Remove support for CFILES and INCLUDE pragmas. The support wasn't+ correct anyway, as it assumed the pragmas appeared at the top of+ files. As CFILES/INCLUDE pragmas can (and do) appear anywhere,+ there's no hope to support them in the AST. Better to remove the+ support altogether. Files with CFILES/INCLUDE pragmas can still be parsed of course, but those pragmas will be handled as comments. * Parsing with ignoreLinePragmas = False now correctly updates the@@ -475,7 +599,7 @@ declarations. The InsInline constructor is removed, and is now represented by InsDecl (InlineSig ...). -* Fix a bug with line numbering and quasi quotes, and a similar one +* Fix a bug with line numbering and quasi quotes, and a similar one with line numbering and CDATA. * Fix a few minor bugs in the exactPrinter.@@ -499,21 +623,21 @@ =============== * Operators defined on the form- + (a `op` b) c = ...- - could not be handled by the (annotated) AST, nor the parser. I had to ++ could not be handled by the (annotated) AST, nor the parser. I had to change the definition of the AST node for InfixMatch to allow a list of right-hand subpatterns, i.e.- + InfixMatch l (Pat l) (Name l) (Pat l) ...- + has become- + InfixMatch l (Pat l) (Name l) [Pat l] ... I also had an epiphany and fixed the issue that would arise with- exact printing of prefix definitions including parentheses, so + exact printing of prefix definitions including parentheses, so that now works too! ** 1.6.x
README.md view
@@ -16,39 +16,19 @@ ----------------- The modules that comprise haskell-src-exts all reside in the hierarchic-namespace Language.Haskell.Exts, or its more feature-rich sibling-Language.Haskell.Exts.Annotated. Notable exposed modules include:+namespace Language.Haskell.Exts. Notable exposed modules include: -* `Language.Haskell.Exts[.Annotated]` - Imports and re-exports all the below,+* `Language.Haskell.Exts` - Imports and re-exports all the below, and also defines some functions that combine functionality from several modules.-* `Language.Haskell.Exts[.Annotated].Syntax` - The abstract syntax tree+* `Language.Haskell.Exts.Syntax` - The abstract syntax tree that the other modules work on.-* `Language.Haskell.Exts[.Annotated].Build` - Combinators for building+* `Language.Haskell.Exts.Build` - Combinators for building abstract syntax.-* `Language.Haskell.Exts[.Annotated].Parser` - Functions for parsing Haskell+* `Language.Haskell.Exts.Parser` - Functions for parsing Haskell source code into an abstract syntax representation. -Non-comprehensive list of supported extensions----------------------------------------------- -* Multi-parameter type classes (MPTCs)-* Functional dependencies-* Associated types, type families-* Liberal class and instance heads-* Implicit parameters (ghc and hugs)-* Explicit kind signatures-* Pattern guards-* Generalized algebraic data types (GADTs)-* Template Haskell (TH)-* Universal and existential quantification (forall)-* Empty data type declarations-* Unboxed tuples `(# #)`-* Standalone deriving-* Regular patterns-* Haskell XML, HSX style-* Pragmas- License ------- @@ -56,3 +36,13 @@ derives from several sources, all of which are distributable under BSD-style or compatible licenses. See the file LICENSE for the complete license text.+++Maintenance+--------------++Dan Burton is currently keeping haskell-src-exts on life support.+If you are interested in more actively making improvements to this package,+please make your interests known.++You might want to try [ghc-lib-parser](http://hackage.haskell.org/package/ghc-lib-parser) instead.
+ RELEASENOTES-1.17.0 view
@@ -0,0 +1,35 @@+I am pleased to announce the release of haskell-src-exts-1.17.0! ++Hackage: https://hackage.haskell.org/package/haskell-src-exts-1.17.0 +GitHub: https://github.com/haskell-suite/haskell-src-exts ++This release brings bugfixes, as well as the following language +features: ++* Type wildcards and expression holes (#252).+* Pattern Synonyms (#197).++The full changelog is available at ++https://github.com/haskell-suite/haskell-src-exts/blob/1.17.0/CHANGELOG++This release is brought to you by:++Matthew Pickering+Michael Walker+Simon Marlow+Neil Mitchell+JP Moresmau+Артур Файзрахманов+phischu+Michael Sloan+m00nlight+Niklas Broberg+Stijn van Drongelen+Jakub Kozlowski+Leonid Onokhov++Matthew Pickering is a force of nature who deserves a special mention+for all his contributions to this release.++Peter
− dist/build/Language/Haskell/Exts/InternalParser.hs
@@ -1,9556 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# OPTIONS_HADDOCK hide #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Parser--- Copyright : (c) Niklas Broberg 2004-2009,--- Original (c) Simon Marlow, Sven Panne 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable-------------------------------------------------------------------------------------module Language.Haskell.Exts.InternalParser (- mparseModule,- mparseExp,- mparsePat,- mparseDecl,- mparseType,- mparseStmt,- mparseImportDecl,- ngparseModulePragmas,- ngparseModuleHeadAndImports,- ngparsePragmasAndModuleHead,- ngparsePragmasAndModuleName- ) where-import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )-import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.InternalLexer-import Language.Haskell.Exts.ParseUtils-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Extension--import Control.Monad ( liftM, (<=<), when )-import Control.Applicative ( (<$>) )-import Data.Maybe-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts-import Control.Applicative(Applicative(..))-import Control.Monad (ap)---- parser produced by Happy Version 1.19.5--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn14 :: ([Module L]) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> ([Module L])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([[ModulePragma L] -> [S] -> L -> Module L]) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> ([[ModulePragma L] -> [S] -> L -> Module L])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (Module L) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (Module L)-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (PExp L) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (PExp L)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (([ModulePragma L],[S],L)) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],L))-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (([ModulePragma L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],Maybe L))-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (ModulePragma L) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (ModulePragma L)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ([ModulePragma L] -> [S] -> L -> Module L) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> ([ModulePragma L] -> [S] -> L -> Module L)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (Maybe (ModuleHead L)) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (Maybe (ModuleHead L))-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (Maybe (WarningText L)) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (Maybe (WarningText L))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (([ImportDecl L],[Decl L],[S],L)) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S],L))-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (([ImportDecl L],[Decl L],[S])) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S]))-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: ([S]) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> ([S])-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([S]) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([S])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Maybe (ExportSpecList L)) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Maybe (ExportSpecList L))-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (ExportSpecList L) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (ExportSpecList L)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: ([S]) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> ([S])-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (([ExportSpec L],[S])) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (([ExportSpec L],[S]))-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (ExportSpec L) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (ExportSpec L)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (QName L) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (QName L)-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (([ImportDecl L],[S])) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (([ImportDecl L],[S]))-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (ImportDecl L) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (ImportDecl L)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ((Maybe String,[S])) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> ((Maybe String,[S]))-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ((Maybe (ModuleName L),[S],Maybe L)) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ((Maybe (ModuleName L),[S],Maybe L))-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (Maybe (ImportSpecList L)) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (Maybe (ImportSpecList L))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (ImportSpecList L) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (ImportSpecList L)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: ((Bool, Maybe L,[S])) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> ((Bool, Maybe L,[S]))-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (([ImportSpec L],[S])) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (([ImportSpec L],[S]))-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (ImportSpec L) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (ImportSpec L)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (([CName L],[S])) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (([CName L],[S]))-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (CName L) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (CName L)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (Decl L) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (Decl L)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: ((Maybe Int, [S])) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> ((Maybe Int, [S]))-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Assoc L) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Assoc L)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (([Op L],[S],L)) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (([Op L],[S],L))-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (Decl L) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (Decl L)-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (Decl L) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> (Decl L)-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([(Maybe String, L)]) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ([(Maybe String, L)])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: ((Maybe String, L)) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> ((Maybe String, L))-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Maybe (Overlap L)) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (Maybe (Overlap L))-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: (Maybe ([TypeEqn L], S)) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> (Maybe ([TypeEqn L], S))-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ([TypeEqn L]) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> ([TypeEqn L])-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ([TypeEqn L]) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> ([TypeEqn L])-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (TypeEqn L) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (TypeEqn L)-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (DataOrNew L) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (DataOrNew L)-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (Decl L) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (Decl L)-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (Binds L) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (Binds L)-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (Decl L) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (Decl L)-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (Decl L) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (Decl L)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (Decl L) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (Decl L)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (Type L) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (Type L)-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (Maybe (BooleanFormula L)) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (Maybe (BooleanFormula L))-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Binds L) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Binds L)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (([Name L],[S],L)) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (([Name L],[S],L))-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (CallConv L) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (CallConv L)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Maybe (Safety L)) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Maybe (Safety L))-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: ((Maybe String, Name L, Type L, [S])) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> ((Maybe String, Name L, Type L, [S]))-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: ([Rule L]) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> ([Rule L])-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (Rule L) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (Rule L)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (Maybe (Activation L)) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (Maybe (Activation L))-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: ((Maybe [RuleVar L],[S])) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> ((Maybe [RuleVar L],[S]))-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: ([RuleVar L]) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> ([RuleVar L])-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (RuleVar L) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (RuleVar L)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (([([Name L],String)],[S])) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (([([Name L],String)],[S]))-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: ((([Name L], String),[S])) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> ((([Name L], String),[S]))-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (Name L) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (Name L)-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Annotation L) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Annotation L)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (Type L) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (Type L)-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (PType L) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (PType L)-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Type L) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Type L)-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (PType L) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (PType L)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (Type L) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (Type L)-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (PType L) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (PType L)-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (PType L) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (PType L)-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Promoted L) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Promoted L)-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: ((Bool, [S])) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> ((Bool, [S]))-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (QName L) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (QName L)-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (QName L) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (QName L)-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (QName L) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (QName L)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (Type L) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (Type L)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (PType L) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (PType L)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (PContext L) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (PContext L)-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (([TyVarBind L],Maybe L)) -> (HappyAbsSyn )-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (([TyVarBind L],Maybe L))-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (TyVarBind L) -> (HappyAbsSyn )-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (TyVarBind L)-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: (([Name L],Maybe L)) -> (HappyAbsSyn )-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> (([Name L],Maybe L))-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (([Name L],L)) -> (HappyAbsSyn )-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (([Name L],L))-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (([FunDep L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (([FunDep L],[S],Maybe L))-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (([FunDep L],[S],L)) -> (HappyAbsSyn )-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (([FunDep L],[S],L))-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (FunDep L) -> (HappyAbsSyn )-happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (FunDep L)-happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (([GadtDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],Maybe L))-happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: ([GadtDecl L]) -> (HappyAbsSyn )-happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> ([GadtDecl L])-happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (([QualConDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],Maybe L))-happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (([QualConDecl L],[S],L)) -> (HappyAbsSyn )-happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],L))-happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (QualConDecl L) -> (HappyAbsSyn )-happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (QualConDecl L)-happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: ((Maybe [TyVarBind L], [S], Maybe L)) -> (HappyAbsSyn )-happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe L))-happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: (ConDecl L) -> (HappyAbsSyn )-happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> (ConDecl L)-happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: ((Name L, [Type L], L)) -> (HappyAbsSyn )-happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> ((Name L, [Type L], L))-happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (([FieldDecl L],[S])) -> (HappyAbsSyn )-happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (([FieldDecl L],[S]))-happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (FieldDecl L) -> (HappyAbsSyn )-happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (FieldDecl L)-happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (Maybe (Deriving L)) -> (HappyAbsSyn )-happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (Maybe (Deriving L))-happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyIn132 :: (([InstRule L],[S])) -> (HappyAbsSyn )-happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn132 #-}-happyOut132 :: (HappyAbsSyn ) -> (([InstRule L],[S]))-happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut132 #-}-happyIn133 :: (InstHead L) -> (HappyAbsSyn )-happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn133 #-}-happyOut133 :: (HappyAbsSyn ) -> (InstHead L)-happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut133 #-}-happyIn134 :: (Kind L) -> (HappyAbsSyn )-happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn134 #-}-happyOut134 :: (HappyAbsSyn ) -> (Kind L)-happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut134 #-}-happyIn135 :: (Kind L) -> (HappyAbsSyn )-happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn135 #-}-happyOut135 :: (HappyAbsSyn ) -> (Kind L)-happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut135 #-}-happyIn136 :: (Kind L) -> (HappyAbsSyn )-happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn136 #-}-happyOut136 :: (HappyAbsSyn ) -> (Kind L)-happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut136 #-}-happyIn137 :: (Kind L) -> (HappyAbsSyn )-happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn137 #-}-happyOut137 :: (HappyAbsSyn ) -> (Kind L)-happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut137 #-}-happyIn138 :: (Kind L) -> (HappyAbsSyn )-happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn138 #-}-happyOut138 :: (HappyAbsSyn ) -> (Kind L)-happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut138 #-}-happyIn139 :: (([Kind L], [S])) -> (HappyAbsSyn )-happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn139 #-}-happyOut139 :: (HappyAbsSyn ) -> (([Kind L], [S]))-happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut139 #-}-happyIn140 :: ((Maybe (Kind L), [S])) -> (HappyAbsSyn )-happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn140 #-}-happyOut140 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))-happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut140 #-}-happyIn141 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn141 #-}-happyOut141 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))-happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut141 #-}-happyIn142 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn142 #-}-happyOut142 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut142 #-}-happyIn143 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn143 #-}-happyOut143 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut143 #-}-happyIn144 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn144 #-}-happyOut144 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut144 #-}-happyIn145 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn145 #-}-happyOut145 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut145 #-}-happyIn146 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn146 #-}-happyOut146 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))-happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut146 #-}-happyIn147 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn147 #-}-happyOut147 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut147 #-}-happyIn148 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn148 #-}-happyOut148 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut148 #-}-happyIn149 :: (InstDecl L) -> (HappyAbsSyn )-happyIn149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn149 #-}-happyOut149 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut149 #-}-happyIn150 :: (InstDecl L) -> (HappyAbsSyn )-happyIn150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn150 #-}-happyOut150 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut150 #-}-happyIn151 :: (Decl L) -> (HappyAbsSyn )-happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn151 #-}-happyOut151 :: (HappyAbsSyn ) -> (Decl L)-happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut151 #-}-happyIn152 :: ((Maybe (Binds L),[S])) -> (HappyAbsSyn )-happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn152 #-}-happyOut152 :: (HappyAbsSyn ) -> ((Maybe (Binds L),[S]))-happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut152 #-}-happyIn153 :: ((Maybe (Type L, S))) -> (HappyAbsSyn )-happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn153 #-}-happyOut153 :: (HappyAbsSyn ) -> ((Maybe (Type L, S)))-happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut153 #-}-happyIn154 :: (Rhs L) -> (HappyAbsSyn )-happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn154 #-}-happyOut154 :: (HappyAbsSyn ) -> (Rhs L)-happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut154 #-}-happyIn155 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn155 #-}-happyOut155 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut155 #-}-happyIn156 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn156 #-}-happyOut156 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut156 #-}-happyIn157 :: (Exp L) -> (HappyAbsSyn )-happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn157 #-}-happyOut157 :: (HappyAbsSyn ) -> (Exp L)-happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut157 #-}-happyIn158 :: (PExp L) -> (HappyAbsSyn )-happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn158 #-}-happyOut158 :: (HappyAbsSyn ) -> (PExp L)-happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut158 #-}-happyIn159 :: (PExp L) -> (HappyAbsSyn )-happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn159 #-}-happyOut159 :: (HappyAbsSyn ) -> (PExp L)-happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut159 #-}-happyIn160 :: (PExp L) -> (HappyAbsSyn )-happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn160 #-}-happyOut160 :: (HappyAbsSyn ) -> (PExp L)-happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut160 #-}-happyIn161 :: (PExp L) -> (HappyAbsSyn )-happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn161 #-}-happyOut161 :: (HappyAbsSyn ) -> (PExp L)-happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut161 #-}-happyIn162 :: (PExp L) -> (HappyAbsSyn )-happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn162 #-}-happyOut162 :: (HappyAbsSyn ) -> (PExp L)-happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut162 #-}-happyIn163 :: ([S]) -> (HappyAbsSyn )-happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn163 #-}-happyOut163 :: (HappyAbsSyn ) -> ([S])-happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut163 #-}-happyIn164 :: ([S]) -> (HappyAbsSyn )-happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn164 #-}-happyOut164 :: (HappyAbsSyn ) -> ([S])-happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut164 #-}-happyIn165 :: (PExp L) -> (HappyAbsSyn )-happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn165 #-}-happyOut165 :: (HappyAbsSyn ) -> (PExp L)-happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut165 #-}-happyIn166 :: (PExp L) -> (HappyAbsSyn )-happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn166 #-}-happyOut166 :: (HappyAbsSyn ) -> (PExp L)-happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut166 #-}-happyIn167 :: (PExp L) -> (HappyAbsSyn )-happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn167 #-}-happyOut167 :: (HappyAbsSyn ) -> (PExp L)-happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut167 #-}-happyIn168 :: ([Pat L]) -> (HappyAbsSyn )-happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn168 #-}-happyOut168 :: (HappyAbsSyn ) -> ([Pat L])-happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut168 #-}-happyIn169 :: (Pat L) -> (HappyAbsSyn )-happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn169 #-}-happyOut169 :: (HappyAbsSyn ) -> (Pat L)-happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut169 #-}-happyIn170 :: (PExp L) -> (HappyAbsSyn )-happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn170 #-}-happyOut170 :: (HappyAbsSyn ) -> (PExp L)-happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut170 #-}-happyIn171 :: (PExp L) -> (HappyAbsSyn )-happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn171 #-}-happyOut171 :: (HappyAbsSyn ) -> (PExp L)-happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut171 #-}-happyIn172 :: (PExp L) -> (HappyAbsSyn )-happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn172 #-}-happyOut172 :: (HappyAbsSyn ) -> (PExp L)-happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut172 #-}-happyIn173 :: ([S]) -> (HappyAbsSyn )-happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn173 #-}-happyOut173 :: (HappyAbsSyn ) -> ([S])-happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut173 #-}-happyIn174 :: (PExp L) -> (HappyAbsSyn )-happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn174 #-}-happyOut174 :: (HappyAbsSyn ) -> (PExp L)-happyOut174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut174 #-}-happyIn175 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )-happyIn175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn175 #-}-happyOut175 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))-happyOut175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut175 #-}-happyIn176 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )-happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn176 #-}-happyOut176 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))-happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut176 #-}-happyIn177 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn177 #-}-happyOut177 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut177 #-}-happyIn178 :: (PExp L) -> (HappyAbsSyn )-happyIn178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn178 #-}-happyOut178 :: (HappyAbsSyn ) -> (PExp L)-happyOut178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut178 #-}-happyIn179 :: (PExp L) -> (HappyAbsSyn )-happyIn179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn179 #-}-happyOut179 :: (HappyAbsSyn ) -> (PExp L)-happyOut179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut179 #-}-happyIn180 :: ([PExp L]) -> (HappyAbsSyn )-happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn180 #-}-happyOut180 :: (HappyAbsSyn ) -> ([PExp L])-happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut180 #-}-happyIn181 :: (PExp L) -> (HappyAbsSyn )-happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn181 #-}-happyOut181 :: (HappyAbsSyn ) -> (PExp L)-happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut181 #-}-happyIn182 :: (XName L) -> (HappyAbsSyn )-happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn182 #-}-happyOut182 :: (HappyAbsSyn ) -> (XName L)-happyOut182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut182 #-}-happyIn183 :: (Loc String) -> (HappyAbsSyn )-happyIn183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn183 #-}-happyOut183 :: (HappyAbsSyn ) -> (Loc String)-happyOut183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut183 #-}-happyIn184 :: (Loc String) -> (HappyAbsSyn )-happyIn184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn184 #-}-happyOut184 :: (HappyAbsSyn ) -> (Loc String)-happyOut184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut184 #-}-happyIn185 :: ([ParseXAttr L]) -> (HappyAbsSyn )-happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn185 #-}-happyOut185 :: (HappyAbsSyn ) -> ([ParseXAttr L])-happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut185 #-}-happyIn186 :: (ParseXAttr L) -> (HappyAbsSyn )-happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn186 #-}-happyOut186 :: (HappyAbsSyn ) -> (ParseXAttr L)-happyOut186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut186 #-}-happyIn187 :: (Maybe (PExp L)) -> (HappyAbsSyn )-happyIn187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn187 #-}-happyOut187 :: (HappyAbsSyn ) -> (Maybe (PExp L))-happyOut187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut187 #-}-happyIn188 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn188 #-}-happyOut188 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut188 #-}-happyIn189 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn189 #-}-happyOut189 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut189 #-}-happyIn190 :: (([[QualStmt L]],[S])) -> (HappyAbsSyn )-happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn190 #-}-happyOut190 :: (HappyAbsSyn ) -> (([[QualStmt L]],[S]))-happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut190 #-}-happyIn191 :: (([QualStmt L],[S])) -> (HappyAbsSyn )-happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn191 #-}-happyOut191 :: (HappyAbsSyn ) -> (([QualStmt L],[S]))-happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut191 #-}-happyIn192 :: (QualStmt L) -> (HappyAbsSyn )-happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn192 #-}-happyOut192 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut192 #-}-happyIn193 :: (QualStmt L) -> (HappyAbsSyn )-happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn193 #-}-happyOut193 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut193 #-}-happyIn194 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn194 #-}-happyOut194 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut194 #-}-happyIn195 :: (Stmt L) -> (HappyAbsSyn )-happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn195 #-}-happyOut195 :: (HappyAbsSyn ) -> (Stmt L)-happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut195 #-}-happyIn196 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn196 #-}-happyOut196 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut196 #-}-happyIn197 :: (([Alt L],L,[S])) -> (HappyAbsSyn )-happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn197 #-}-happyOut197 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))-happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut197 #-}-happyIn198 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn198 #-}-happyOut198 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut198 #-}-happyIn199 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn199 #-}-happyOut199 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut199 #-}-happyIn200 :: (Alt L) -> (HappyAbsSyn )-happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn200 #-}-happyOut200 :: (HappyAbsSyn ) -> (Alt L)-happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut200 #-}-happyIn201 :: (Rhs L) -> (HappyAbsSyn )-happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn201 #-}-happyOut201 :: (HappyAbsSyn ) -> (Rhs L)-happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut201 #-}-happyIn202 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn202 #-}-happyOut202 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut202 #-}-happyIn203 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn203 #-}-happyOut203 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut203 #-}-happyIn204 :: (Pat L) -> (HappyAbsSyn )-happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn204 #-}-happyOut204 :: (HappyAbsSyn ) -> (Pat L)-happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut204 #-}-happyIn205 :: (([GuardedRhs L], L, [S])) -> (HappyAbsSyn )-happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn205 #-}-happyOut205 :: (HappyAbsSyn ) -> (([GuardedRhs L], L, [S]))-happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut205 #-}-happyIn206 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )-happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn206 #-}-happyOut206 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))-happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut206 #-}-happyIn207 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )-happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn207 #-}-happyOut207 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))-happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut207 #-}-happyIn208 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )-happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn208 #-}-happyOut208 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))-happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut208 #-}-happyIn209 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn209 #-}-happyOut209 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut209 #-}-happyIn210 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn210 #-}-happyOut210 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut210 #-}-happyIn211 :: (Stmt L) -> (HappyAbsSyn )-happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn211 #-}-happyOut211 :: (HappyAbsSyn ) -> (Stmt L)-happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut211 #-}-happyIn212 :: (([PFieldUpdate L],[S])) -> (HappyAbsSyn )-happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn212 #-}-happyOut212 :: (HappyAbsSyn ) -> (([PFieldUpdate L],[S]))-happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut212 #-}-happyIn213 :: (PFieldUpdate L) -> (HappyAbsSyn )-happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn213 #-}-happyOut213 :: (HappyAbsSyn ) -> (PFieldUpdate L)-happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut213 #-}-happyIn214 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn214 #-}-happyOut214 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut214 #-}-happyIn215 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn215 #-}-happyOut215 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut215 #-}-happyIn216 :: (IPBind L) -> (HappyAbsSyn )-happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn216 #-}-happyOut216 :: (HappyAbsSyn ) -> (IPBind L)-happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut216 #-}-happyIn217 :: (PExp L) -> (HappyAbsSyn )-happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn217 #-}-happyOut217 :: (HappyAbsSyn ) -> (PExp L)-happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut217 #-}-happyIn218 :: (Name L) -> (HappyAbsSyn )-happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn218 #-}-happyOut218 :: (HappyAbsSyn ) -> (Name L)-happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut218 #-}-happyIn219 :: (Name L) -> (HappyAbsSyn )-happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn219 #-}-happyOut219 :: (HappyAbsSyn ) -> (Name L)-happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut219 #-}-happyIn220 :: (QName L) -> (HappyAbsSyn )-happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn220 #-}-happyOut220 :: (HappyAbsSyn ) -> (QName L)-happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut220 #-}-happyIn221 :: (IPName L) -> (HappyAbsSyn )-happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn221 #-}-happyOut221 :: (HappyAbsSyn ) -> (IPName L)-happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut221 #-}-happyIn222 :: (Name L) -> (HappyAbsSyn )-happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn222 #-}-happyOut222 :: (HappyAbsSyn ) -> (Name L)-happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut222 #-}-happyIn223 :: (QName L) -> (HappyAbsSyn )-happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn223 #-}-happyOut223 :: (HappyAbsSyn ) -> (QName L)-happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut223 #-}-happyIn224 :: (Name L) -> (HappyAbsSyn )-happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn224 #-}-happyOut224 :: (HappyAbsSyn ) -> (Name L)-happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut224 #-}-happyIn225 :: (QName L) -> (HappyAbsSyn )-happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn225 #-}-happyOut225 :: (HappyAbsSyn ) -> (QName L)-happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut225 #-}-happyIn226 :: (QName L) -> (HappyAbsSyn )-happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn226 #-}-happyOut226 :: (HappyAbsSyn ) -> (QName L)-happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut226 #-}-happyIn227 :: (Name L) -> (HappyAbsSyn )-happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn227 #-}-happyOut227 :: (HappyAbsSyn ) -> (Name L)-happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut227 #-}-happyIn228 :: (QName L) -> (HappyAbsSyn )-happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn228 #-}-happyOut228 :: (HappyAbsSyn ) -> (QName L)-happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut228 #-}-happyIn229 :: (Op L) -> (HappyAbsSyn )-happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn229 #-}-happyOut229 :: (HappyAbsSyn ) -> (Op L)-happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut229 #-}-happyIn230 :: (QOp L) -> (HappyAbsSyn )-happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn230 #-}-happyOut230 :: (HappyAbsSyn ) -> (QOp L)-happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut230 #-}-happyIn231 :: (QOp L) -> (HappyAbsSyn )-happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn231 #-}-happyOut231 :: (HappyAbsSyn ) -> (QOp L)-happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut231 #-}-happyIn232 :: (QName L) -> (HappyAbsSyn )-happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn232 #-}-happyOut232 :: (HappyAbsSyn ) -> (QName L)-happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut232 #-}-happyIn233 :: (QName L) -> (HappyAbsSyn )-happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn233 #-}-happyOut233 :: (HappyAbsSyn ) -> (QName L)-happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut233 #-}-happyIn234 :: (Name L) -> (HappyAbsSyn )-happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn234 #-}-happyOut234 :: (HappyAbsSyn ) -> (Name L)-happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut234 #-}-happyIn235 :: (Name L) -> (HappyAbsSyn )-happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn235 #-}-happyOut235 :: (HappyAbsSyn ) -> (Name L)-happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut235 #-}-happyIn236 :: (IPName L) -> (HappyAbsSyn )-happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn236 #-}-happyOut236 :: (HappyAbsSyn ) -> (IPName L)-happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut236 #-}-happyIn237 :: (QName L) -> (HappyAbsSyn )-happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn237 #-}-happyOut237 :: (HappyAbsSyn ) -> (QName L)-happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut237 #-}-happyIn238 :: (Name L) -> (HappyAbsSyn )-happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn238 #-}-happyOut238 :: (HappyAbsSyn ) -> (Name L)-happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut238 #-}-happyIn239 :: (QName L) -> (HappyAbsSyn )-happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn239 #-}-happyOut239 :: (HappyAbsSyn ) -> (QName L)-happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut239 #-}-happyIn240 :: (Name L) -> (HappyAbsSyn )-happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn240 #-}-happyOut240 :: (HappyAbsSyn ) -> (Name L)-happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut240 #-}-happyIn241 :: (QName L) -> (HappyAbsSyn )-happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn241 #-}-happyOut241 :: (HappyAbsSyn ) -> (QName L)-happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut241 #-}-happyIn242 :: (QName L) -> (HappyAbsSyn )-happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn242 #-}-happyOut242 :: (HappyAbsSyn ) -> (QName L)-happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut242 #-}-happyIn243 :: (Name L) -> (HappyAbsSyn )-happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn243 #-}-happyOut243 :: (HappyAbsSyn ) -> (Name L)-happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut243 #-}-happyIn244 :: (Name L) -> (HappyAbsSyn )-happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn244 #-}-happyOut244 :: (HappyAbsSyn ) -> (Name L)-happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut244 #-}-happyIn245 :: (QName L) -> (HappyAbsSyn )-happyIn245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn245 #-}-happyOut245 :: (HappyAbsSyn ) -> (QName L)-happyOut245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut245 #-}-happyIn246 :: (Literal L) -> (HappyAbsSyn )-happyIn246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn246 #-}-happyOut246 :: (HappyAbsSyn ) -> (Literal L)-happyOut246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut246 #-}-happyIn247 :: (S) -> (HappyAbsSyn )-happyIn247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn247 #-}-happyOut247 :: (HappyAbsSyn ) -> (S)-happyOut247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut247 #-}-happyIn248 :: (S) -> (HappyAbsSyn )-happyIn248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn248 #-}-happyOut248 :: (HappyAbsSyn ) -> (S)-happyOut248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut248 #-}-happyIn249 :: (Decl L) -> (HappyAbsSyn )-happyIn249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn249 #-}-happyOut249 :: (HappyAbsSyn ) -> (Decl L)-happyOut249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut249 #-}-happyIn250 :: (Decl L) -> (HappyAbsSyn )-happyIn250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn250 #-}-happyOut250 :: (HappyAbsSyn ) -> (Decl L)-happyOut250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut250 #-}-happyIn251 :: (Pat L) -> (HappyAbsSyn )-happyIn251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn251 #-}-happyOut251 :: (HappyAbsSyn ) -> (Pat L)-happyOut251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut251 #-}-happyIn252 :: ([Pat L]) -> (HappyAbsSyn )-happyIn252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn252 #-}-happyOut252 :: (HappyAbsSyn ) -> ([Pat L])-happyOut252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut252 #-}-happyIn253 :: (PatternSynDirection L) -> (HappyAbsSyn )-happyIn253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn253 #-}-happyOut253 :: (HappyAbsSyn ) -> (PatternSynDirection L)-happyOut253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut253 #-}-happyIn254 :: (Decl L) -> (HappyAbsSyn )-happyIn254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn254 #-}-happyOut254 :: (HappyAbsSyn ) -> (Decl L)-happyOut254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut254 #-}-happyIn255 :: ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )) -> (HappyAbsSyn )-happyIn255 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn255 #-}-happyOut255 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L ))-happyOut255 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut255 #-}-happyIn256 :: (ModuleName L) -> (HappyAbsSyn )-happyIn256 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn256 #-}-happyOut256 :: (HappyAbsSyn ) -> (ModuleName L)-happyOut256 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut256 #-}-happyIn257 :: (Name L) -> (HappyAbsSyn )-happyIn257 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn257 #-}-happyOut257 :: (HappyAbsSyn ) -> (Name L)-happyOut257 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut257 #-}-happyIn258 :: (QName L) -> (HappyAbsSyn )-happyIn258 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn258 #-}-happyOut258 :: (HappyAbsSyn ) -> (QName L)-happyOut258 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut258 #-}-happyIn259 :: (Name L) -> (HappyAbsSyn )-happyIn259 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn259 #-}-happyOut259 :: (HappyAbsSyn ) -> (Name L)-happyOut259 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut259 #-}-happyIn260 :: (Name L) -> (HappyAbsSyn )-happyIn260 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn260 #-}-happyOut260 :: (HappyAbsSyn ) -> (Name L)-happyOut260 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut260 #-}-happyIn261 :: (QName L) -> (HappyAbsSyn )-happyIn261 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn261 #-}-happyOut261 :: (HappyAbsSyn ) -> (QName L)-happyOut261 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut261 #-}-happyIn262 :: (Name L) -> (HappyAbsSyn )-happyIn262 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn262 #-}-happyOut262 :: (HappyAbsSyn ) -> (Name L)-happyOut262 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut262 #-}-happyIn263 :: (([ImportDecl L],[S],L)) -> (HappyAbsSyn )-happyIn263 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn263 #-}-happyOut263 :: (HappyAbsSyn ) -> (([ImportDecl L],[S],L))-happyOut263 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut263 #-}-happyIn264 :: ((([ModulePragma L], [S], L), Maybe (ModuleName L))) -> (HappyAbsSyn )-happyIn264 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn264 #-}-happyOut264 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleName L)))-happyOut264 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut264 #-}-happyIn265 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L))) -> (HappyAbsSyn )-happyIn265 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn265 #-}-happyOut265 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L)))-happyOut265 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut265 #-}-happyIn266 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L))) -> (HappyAbsSyn )-happyIn266 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn266 #-}-happyOut266 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)))-happyOut266 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut266 #-}-happyInTok :: (Loc Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Loc Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x34\x25\xb8\x24\x69\x09\x9b\x18\x54\x21\x18\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x09\x5c\x05\x20\x09\x82\x09\x1f\x09\x80\x09\x0c\x09\x7e\x09\x7e\x09\xe4\x08\xf2\x08\x00\x00\x47\x09\x00\x00\x00\x00\x80\x07\x00\x00\x00\x00\x00\x00\xe3\x28\x00\x00\x57\x09\x00\x00\x00\x00\x45\x09\xd8\x08\x00\x00\x0d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x1d\x53\x1d\x61\x1e\xe8\x1e\x00\x00\x25\x28\xe3\x28\xe3\x28\xe3\x28\x34\x25\x00\x00\x34\x25\x34\x25\x34\x25\x9b\x18\x00\x00\x5e\x2b\x11\x2d\x00\x00\x12\x29\x34\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x4f\x09\x00\x00\x00\x00\x00\x00\x3c\x24\x4e\x09\x4d\x09\x84\x28\x4d\x09\x00\x00\x58\x09\x55\x09\x46\x09\x00\x00\x00\x00\xe3\x11\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd0\x08\x00\x00\x9b\x18\x2b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x11\x00\x13\x3a\x15\x59\x19\x00\x00\x00\x00\x00\x00\x34\x25\xdd\x03\x00\x00\x00\x00\x00\x00\x00\x00\xca\x08\xc7\x08\x00\x00\x00\x00\x00\x00\xc7\x08\x37\x09\xbe\x08\x00\x00\xbe\x08\xf1\xff\x00\x00\x00\x00\x35\x09\x12\x29\xd3\x08\xd5\x06\x00\x00\xe3\x08\x00\x00\x00\x00\x25\x09\x00\x00\x3b\x0c\x38\x00\x16\x09\x6c\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x12\xdb\x14\x00\x00\x23\x09\x12\x09\x42\x12\x19\x09\x00\x00\x0d\x09\x08\x09\x00\x00\x7c\x03\x6d\x03\x00\x00\x00\x00\x4b\x02\x11\x09\xdb\x02\x10\x09\x0f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x09\x00\x00\x0a\x09\x00\x00\xd5\x1a\x00\x00\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\x61\x0a\x9b\x18\xd5\x1a\x00\x00\x00\x00\x14\x09\x92\x08\x8d\x08\x00\x00\x64\x1f\x64\x1f\xf1\x08\x00\x00\xe3\x28\x00\x00\xb0\x08\xf7\x08\x00\x00\x00\x00\x00\x00\x00\x00\x95\x08\x53\x02\xb9\x08\x00\x00\xdd\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x14\x66\x03\xe7\x08\x00\x00\x00\x00\xe1\x0a\x57\x0d\xc0\x08\xbf\x08\x70\x06\xbd\x08\xe6\x08\xce\x08\x08\x01\x00\x00\xe3\x28\x00\x00\xc6\x27\x00\x00\xda\x08\xc2\x08\x8e\x02\xc3\x08\xcc\x08\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\x1b\x2c\x00\x00\x60\x01\xc5\x08\xc1\x08\x00\x00\xcc\x1c\x0b\x03\x00\x00\x05\x06\x45\x1c\x98\x02\xc9\x08\xc8\x08\xc4\x08\xb4\x08\xb2\x08\x00\x00\xe3\x28\xe3\x28\xe3\x28\x34\x25\x78\x2b\x00\x00\x00\x00\x00\x00\x34\x25\x00\x00\x1b\x2c\x9b\x18\x34\x25\x34\x25\x34\x25\x34\x25\x77\x08\x42\x08\x2c\x00\x00\x00\xd5\x06\x38\x00\x00\x00\x00\x00\x00\x00\x30\x2b\x00\x00\x54\x08\x00\x00\xe3\x28\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02\xe3\x28\xb7\x08\xa4\x08\x6a\x00\x48\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x08\x99\x08\x00\x00\x00\x00\x9e\x08\x97\x08\x8f\x08\xae\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x1b\x00\x00\x00\x00\x83\x02\x00\x00\x00\x00\x34\x25\xc0\x23\x37\x1b\x00\x00\x00\x00\x08\x03\x00\x00\xe8\x1e\x00\x00\xe8\x1e\x34\x25\xd8\x20\x91\x08\x00\x00\x00\x00\xe8\x1e\x34\x25\xd8\x20\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x34\x25\x00\x00\x44\x23\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\xa8\x08\x38\x00\x00\x00\x00\x00\x00\x00\x7c\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x09\x00\x00\x00\x00\x00\x00\xe3\x28\xe6\x00\x9b\x18\x4d\x08\x9b\x08\x40\x08\x00\x00\x00\x00\x00\x00\x0c\x05\x00\x00\x32\x18\xb4\x2c\x8e\x08\x8e\x08\x18\x00\x8e\x08\x98\x08\x99\x2c\x99\x2c\x30\x2b\xc1\x2d\x93\x08\x12\x29\xd8\x26\x00\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x8a\x08\x07\x02\x88\x08\x38\x00\x2b\x08\x00\x00\x34\x25\x00\x00\x34\x25\x86\x08\x82\x08\x64\x1f\x38\x00\x34\x25\x34\x25\x74\x08\xb8\x19\x00\x00\x76\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x2a\x00\x00\x00\x00\xd3\x17\xd3\x17\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd2\x03\x00\x00\x5d\x02\x00\x00\x00\x00\x00\x00\xfc\x2c\xd3\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x0e\x7d\x08\x6d\x08\x38\x00\x38\x00\x4e\x06\x27\x08\x00\x00\x00\x00\xd8\x26\x3a\x08\x58\x08\x56\x08\x53\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x14\x00\x00\x00\x00\x49\x08\x04\x08\xc9\x0c\x46\x08\x46\x08\x00\x00\x39\x08\x00\x00\x00\x00\xd5\x1a\x38\x08\x00\x00\x3c\x08\x00\x00\xa8\x29\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x29\x80\x2a\x00\x00\x00\x00\x00\x00\x45\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1f\x00\x00\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\x00\x00\x44\x23\x00\x00\x00\x00\x26\x00\x02\x08\x00\x00\x26\x08\x00\x00\x72\x06\xf3\x05\xeb\x05\xe8\x05\xe7\x05\xe4\x05\xe3\x05\xd4\x05\xcc\x05\xcb\x05\xc8\x05\xc7\x05\xc4\x05\xc3\x05\xa9\x05\x83\x05\x5d\x05\x48\x05\xf8\x04\xdd\x04\xda\x04\x00\x00\xbb\x07\x00\x00\x21\x08\x29\x08\x00\x00\x21\x2a\xb8\x07\x3c\x00\x00\x00\x37\x08\x22\x08\x39\x00\x34\x00\x00\x00\x25\x08\x7e\x2c\x36\x00\x7e\x2c\xd3\x17\x7e\x2c\x7e\x2c\xa7\x2d\xad\x04\xa1\x03\x36\x08\x0d\x08\x59\x19\xd5\x1a\x8d\x03\xd3\x17\xa2\x07\xa1\x07\x9f\x07\x0c\x05\xd3\x17\xd3\x17\x07\x08\xc2\x04\xc2\x04\x59\x04\x59\x04\x7e\x2c\xd3\x17\xab\x06\xd3\x17\x57\x0d\x16\x08\xee\x07\xde\x02\x00\x00\x00\x00\x35\x00\x00\x00\xff\x07\x09\x08\x00\x00\x00\x00\x5c\x20\x06\x08\x38\x00\xf2\x07\xf4\x07\x00\x00\x00\x00\x00\x00\xc8\x22\x00\x00\x18\x03\x00\x00\x00\x00\xe9\x07\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\xd1\x02\x00\x00\x00\x00\xe5\x07\x00\x00\x00\x00\x00\x00\x44\x02\x00\x00\x34\x25\xee\x2b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x16\x00\x16\x00\x00\x00\x00\x00\x00\x00\x20\x00\x03\x08\xe3\x28\x00\x00\xef\x07\xeb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\xe0\x1f\x34\x25\xa6\x07\x30\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x04\x97\x07\x34\x25\x4c\x22\x00\x00\xdf\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x26\x00\x00\x00\x00\x98\x06\x9c\x07\x7e\x07\x07\x2a\x8d\x07\x0a\x04\x80\x03\x00\x00\x6e\x07\xba\x07\x00\x00\x34\x25\x4c\x22\x5d\x07\x96\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x06\x5b\x07\x00\x00\xad\x07\xbc\x07\x00\x00\xaf\x07\x00\x00\xd3\x17\x00\x00\x00\x00\x00\x00\x57\x07\x00\x00\xe1\x0a\xa7\x07\x00\x00\x9d\x07\xd3\x17\xd0\x21\xd0\x21\xdb\x2d\xdb\x2d\x00\x00\x74\x17\x3d\x07\x3c\x07\x38\x07\x96\x07\x9b\x07\xa4\x07\x87\x07\x47\x07\x9e\x07\x00\x00\x51\x2c\x00\x00\x51\x2c\x00\x00\x00\x00\x00\x00\x95\x07\x8d\x2d\x8d\x2d\x00\x00\x00\x00\x00\x00\xe3\x28\x00\x00\x00\x00\xf8\x00\x07\x02\x8c\x07\x00\x00\x78\x07\x81\x07\x7c\x07\x86\x07\x00\x00\x00\x00\x07\x2a\x00\x00\x07\x2a\x00\x00\x00\x00\x34\x25\xb7\x06\x7f\x07\x54\x27\xf1\x0f\x7f\x07\x0a\x07\x09\x07\x1b\x07\x00\x00\x9e\x25\x00\x00\x55\x06\x00\x00\x00\x00\x79\x07\x6d\x07\x00\x00\x00\x00\x77\x07\x00\x00\x96\x06\x16\x2b\x73\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x07\x00\x00\x75\x07\x00\x00\x00\x00\x07\x2a\x00\x00\x7b\x07\x21\x07\x00\x00\x34\x25\x00\x00\x53\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x5f\x2d\x15\x17\x64\x07\x00\x00\x15\x17\x00\x00\x00\x00\x00\x00\x00\x00\x59\x19\x00\x00\x00\x00\x00\x00\x00\x00\x04\x07\x00\x00\x00\x00\x02\x07\x15\x17\x49\x00\x00\x00\x61\x07\x00\x00\x00\x00\x00\x00\x6c\x25\x56\x07\x00\x00\x00\x00\x54\x07\x00\x00\x45\x07\x00\x00\x84\x07\x84\x01\xd4\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x07\xa0\x02\x00\x00\x00\x00\x00\x00\x45\x2d\x15\x17\x40\x07\x00\x00\x76\x1a\x00\x00\x00\x00\x07\x07\x42\x07\x00\x00\x60\x03\x01\x07\xe0\x06\x35\x07\x34\x07\xde\x02\x00\x00\x00\x00\xdc\x06\x2b\x07\x00\x00\x34\x25\xd0\x21\x26\x07\x00\x00\x34\x25\x34\x25\x34\x25\x00\x00\x33\x07\x00\x00\xdf\x06\xde\x06\xef\x03\x6d\x00\x00\x00\x00\x00\x10\x00\x96\x06\x00\x00\x00\x00\xda\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x06\x00\x00\x00\x00\x00\x00\x1d\x14\x00\x00\x00\x00\x00\x00\x3d\x2e\x57\x00\xbe\x13\x76\x1a\x00\x00\x00\x00\x20\x07\x1f\x07\x7e\x11\xcc\x06\x00\x00\x00\x00\x84\x01\x34\x25\x00\x00\x00\x00\x1e\x07\x11\x07\x17\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x07\x00\x00\x0b\x07\x23\x2e\x00\x00\x59\x19\xa0\x06\xf4\x06\x00\x00\x00\x00\x8d\x06\x00\x07\x2b\x2d\x00\x00\xdb\x2d\xfa\x06\xd1\x06\x00\x00\x34\x25\xdd\x06\xef\x06\xf3\x06\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x2a\xf1\x06\xcd\x25\x00\x00\x8d\x04\x12\x29\x00\x00\x00\x00\x0b\x02\x00\x00\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x07\x2a\xf6\x06\x00\x00\x12\x29\x34\x25\xc9\x06\x00\x00\x00\x00\x00\x00\x15\x17\x00\x00\x00\x00\xb6\x16\x00\x00\x00\x00\x00\x00\x17\x1a\x17\x1a\x6e\x0f\xe2\x06\x38\x00\xfc\x2c\x00\x00\x00\x00\xe5\x0d\xd9\x06\x38\x00\x00\x00\x17\x1a\x00\x00\x00\x00\x00\x00\xd6\x06\xa6\x2b\xfa\x18\x00\x00\x17\x1a\x17\x1a\xe6\x06\x00\x00\xd3\x02\xcd\x06\x38\x00\xc6\x06\xd0\x06\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\xcf\x06\x00\x00\x2b\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x06\x00\x00\x17\x1a\xb8\x19\x30\x03\xec\x02\x00\x00\x00\x00\xc5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x16\xf7\x10\xf8\x15\xf9\x2a\x00\x00\x00\x00\x99\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1a\xbc\x03\x00\x00\xb9\x06\x66\x00\xeb\x0e\xc2\x06\x38\x00\x00\x00\x00\x00\x99\x15\x00\x00\x9a\x06\x4f\x06\x00\x00\x00\x00\x00\x00\x51\x2c\x8e\x06\x00\x00\x00\x00\x34\x25\x00\x00\xb8\x06\x00\x00\x00\x00\x00\x00\x17\x1a\x99\x15\x00\x00\x9f\x06\x74\x10\xac\x06\x8c\x06\x9b\x06\x84\x06\x90\x06\x17\x1a\x00\x00\x7b\x13\x90\x06\x68\x0e\x91\x06\x00\x00\x36\x2c\x99\x15\x5f\x13\x12\x03\x91\x06\x8f\x06\x82\x06\x00\x00\x00\x00\x00\x00\x80\x06\xe1\x2c\x51\x02\x00\x00\x00\x00\x9a\x2a\x75\x06\x5a\x26\x00\x00\x00\x00\x00\x00\x36\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x99\x15\x5c\x06\x00\x00\x99\x15\x20\x06\xfb\x05\x00\x00\x99\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x06\x00\x00\x00\x00\x99\x15\x00\x00\xe4\x02\x00\x00\x00\x00\x44\x01\x00\x00\x4c\x06\x00\x00\x00\x00\x2f\x06\x00\x00\x00\x00\x99\x15\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x02\x00\x15\x35\xb8\x39\x0b\x00\xe5\x08\x57\x31\x44\x06\x03\x00\xfd\xff\xff\xff\xfe\xff\x01\x00\x5f\x04\x94\x06\x00\x00\x00\x00\x49\x06\x00\x00\x3d\x06\x00\x00\x00\x00\x00\x00\x0e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xff\x11\x00\x00\x00\x00\x00\x00\x05\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x35\x01\x36\xe1\x35\x88\x35\x00\x00\x48\x2b\xc9\x40\x82\x3e\xb3\x40\x66\x39\x00\x00\xfd\x34\xab\x34\x30\x3e\xd7\x08\x52\x05\x39\x03\x6e\x01\x00\x00\xe4\x04\xc8\x3d\x85\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x3d\x87\xff\x00\x00\x00\x00\x00\x00\xa9\x31\xfc\xff\x7a\xff\xd4\x3e\x62\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x0a\x00\x00\x00\x00\xdf\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x05\x58\x06\x10\x06\x0c\x0b\x00\x00\x00\x00\x00\x00\x93\x34\xab\x02\x00\x00\x00\x00\x00\x00\xd2\x05\x00\x00\x00\x00\x74\x05\x5b\x05\x00\x00\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x78\x03\x00\x00\x00\x00\x08\x00\x8b\x04\x78\x06\x2c\x05\x00\x00\x00\x00\x0f\x00\x07\x00\x00\x00\x00\x00\x77\x00\x29\x05\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x05\xbc\x08\x00\x00\x00\x00\x00\x00\xa6\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x08\x00\x00\x00\x00\x00\x00\x90\x08\x00\x00\x00\x00\x23\x08\x00\x00\x00\x00\x69\x01\xd6\x0a\x50\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x30\xb9\x30\x00\x00\x00\x00\x77\x40\x00\x00\x00\x00\x62\x05\x00\x00\x11\x00\x0c\x00\x00\x00\x00\x00\xbd\x02\x00\x00\x36\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x3c\x05\x00\x00\x00\x00\x00\x00\xd9\x04\x75\x01\x00\x00\x00\x00\x94\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x40\x00\x00\xbe\x3e\x00\x00\x76\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x3d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x37\x07\x03\x00\x00\x00\x00\x66\x37\xf5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x3e\x25\x40\x0f\x40\x41\x34\x74\x02\x00\x00\x00\x00\x00\x00\x1a\x3e\x00\x00\xd5\x03\x78\x08\x60\x3d\x0e\x3d\xf8\x3c\xa6\x3c\xce\x05\x00\x00\xd7\x00\x00\x00\xd4\x04\xd3\x04\x85\x06\x83\x06\xea\x01\x46\x02\x00\x00\x28\x04\x00\x00\xd3\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x02\xbd\x3f\xf4\x04\x71\x06\xe1\x04\x00\x00\x77\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\x00\x00\x5f\x06\x00\x00\x9b\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x37\x00\x00\x00\x00\x7d\x02\x00\x00\x00\x00\x50\x39\xfe\x38\xef\x36\x00\x00\x00\x00\x4c\x02\x00\x00\xd1\x36\x00\x00\x78\x36\x90\x3c\x8d\x2e\x00\x00\x00\x00\x00\x00\x5a\x36\x3e\x3c\x3b\x2e\x00\x00\x31\x00\x1b\x00\x00\x00\x28\x3c\xd6\x3b\x00\x00\x67\x30\x00\x00\x00\x00\x1a\x3e\x00\x00\x00\x00\x00\x00\x66\x05\x99\x04\x43\x06\x00\x00\x00\x00\x47\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x00\x00\x00\x00\x00\x00\x81\x3f\x00\x00\x2b\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x05\x00\x00\xfd\x05\x6f\x01\x31\x05\x2d\x05\x24\x05\x0a\x05\x04\x06\x1c\x02\xd1\x01\x3d\x02\x2a\x00\x00\x00\x9f\x05\x2f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x38\x6b\xff\xeb\x00\x00\x00\x54\x04\x00\x00\x00\x00\xc0\x3b\x00\x00\x6e\x3b\x00\x00\x34\x04\x4f\x30\x4d\x04\x58\x3b\x06\x3b\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x11\x00\x00\x00\x00\x18\x0a\x06\x0a\x00\x00\x00\x00\x39\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x01\xf8\x09\x00\x00\x37\x06\x33\x06\x00\x00\x00\x00\x00\x00\x00\x00\x92\x02\x00\x00\x00\x00\x25\x04\x1d\x04\xe6\x04\x00\x00\x2c\x04\x00\x00\x19\x3f\xca\x04\x07\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x05\x00\x00\x32\x0b\xbf\x05\x00\x00\x00\x00\x00\x00\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x04\x3b\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x2f\x00\x00\x00\x00\x00\x00\xf0\x3a\x00\x00\x00\x00\x00\x00\x93\x05\xd5\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x87\x03\x00\x00\xd2\x02\xe6\x09\xc0\x02\x08\x02\xe9\x01\x61\x04\x00\x00\xde\x03\x00\x00\x77\x0a\x4d\x05\x1c\x00\xcb\x09\x00\x00\x00\x00\x00\x00\x82\x04\xf0\x03\x9c\x09\x23\x04\x42\x04\x3e\x04\xa1\x04\x7d\x04\xfc\x00\x2d\x08\xa7\x01\x12\x08\xf2\x01\x00\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\x00\x00\x00\x00\x18\x38\x00\x00\x86\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x9e\x3a\x59\x02\x00\x00\x00\x00\x00\x00\x47\x04\x00\x00\x1b\x05\xa5\x04\x00\x00\x00\x00\x00\x00\x00\x00\x85\x03\x6b\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x05\xdf\x04\x53\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x3a\xdf\x2e\x36\x3a\x00\x00\x00\x00\x31\x2f\x00\x00\x00\x00\xce\x04\x00\x00\x3a\x04\x00\x00\xd7\x33\x2f\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x02\x00\x00\x00\x00\x51\x01\xc6\x03\xd8\x03\xea\x10\x0e\x04\x00\x00\x00\x00\x00\x00\xac\x03\x97\x03\x00\x00\xbf\x33\x83\x2f\xa5\x03\xe8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\x9c\x03\x06\x01\x99\x03\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\x00\x00\x00\x00\x8f\x03\xe1\x03\x91\x04\x00\x00\x00\x00\x81\x03\xfe\x07\x96\x38\x80\x38\x70\x03\xd6\x01\x00\x00\x36\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\xb1\x03\x00\x00\xa7\x02\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\xcf\xff\x00\x00\x56\x03\x00\x00\xf4\x17\x00\x00\x00\x00\x00\x00\x23\x03\x52\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x12\x00\x00\x4e\x0b\x00\x00\x00\x00\x6d\x33\x26\x01\x00\x00\x6c\x3e\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x00\x00\x26\x03\x00\x00\x00\x00\xc1\x03\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x02\x04\x00\x2b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x55\x33\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x2d\x03\x01\x44\x04\x00\x00\x00\x00\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x0a\x00\x00\x5d\x03\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x76\x03\xe3\x07\x6c\x03\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x9b\x00\x00\x00\x00\x00\x00\x00\x76\x02\x00\x00\x00\x00\x00\x00\xad\xff\xbb\x03\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\xcf\x07\x00\x00\x00\x00\x1c\x0b\xf2\x02\x00\x00\xcb\x02\x4f\x02\x00\x00\xa1\x00\xb7\x02\x9b\x02\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x70\x02\xec\x01\x00\x00\x03\x33\x2e\x38\x00\x00\x00\x00\xeb\x32\x99\x32\x81\x32\x00\x00\x00\x00\x00\x00\xa1\x02\x89\x02\x00\x00\xa8\x01\x00\x00\x00\x00\x57\x04\x8c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x00\x00\x00\x00\x00\x00\xc9\x05\x44\x00\x33\x00\x00\x00\xaf\xff\x10\x01\x04\x04\x3e\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x57\x05\x35\x04\x00\x00\x00\x00\xad\x03\x2f\x32\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x50\x00\x37\x00\x5e\x01\x00\x00\x8b\x03\x21\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x40\x01\xaf\xff\x00\x00\xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x7d\x01\x00\x00\x00\x00\x00\x00\x20\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x22\x00\x00\x00\x56\x01\xae\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x04\x00\x00\x00\x00\x77\x03\x17\x32\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x22\x09\x42\x00\x3f\x00\x00\x00\x1a\x01\x64\x00\x20\x04\x00\x00\x1b\x01\x73\x00\x00\x00\x00\x00\x6e\x02\x00\x00\xf3\x00\x00\x00\xef\x04\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x00\x04\x04\x00\x00\x1f\x02\x23\x01\x52\x00\x00\x00\xc3\x01\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\x04\x04\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x03\x00\x00\x00\x00\x07\x09\xba\x04\x70\x04\x00\x00\x00\x00\x00\x00\xc1\x07\x00\x00\x00\x00\xce\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\x00\x00\x00\x00\x00\x00\x99\x00\x32\x03\x00\x00\x85\x00\x00\x00\x00\x00\x98\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\xce\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x69\x07\x00\x00\x00\x00\x9f\x04\x00\x00\xda\x00\x00\x00\x00\x00\x8f\x00\x62\x01\x00\x00\x83\x0f\x3b\x00\x0e\x03\x00\x00\x00\x00\xd5\x00\x1c\x07\x08\x07\xa5\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x8b\xff\x00\x00\x00\x00\x5b\x00\x00\x00\xe8\xff\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xed\x06\x00\x00\x00\x00\xc3\x06\x68\x00\x19\x00\x00\x00\xb5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\x00\x00\x00\x00\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x06\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x4e\xfd\x00\x00\x00\x00\x4e\xfd\x00\x00\x00\x00\x00\x00\x4e\xfd\x4e\xfd\x4e\xfd\x4e\xfd\x00\x00\x00\x00\xea\xff\x2c\xfd\x00\x00\xe2\xff\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\xbf\xff\xaf\xfd\x86\xfe\x84\xfe\x7e\xfe\x7d\xfe\x7b\xfe\x79\xfe\x73\xfe\x69\xfe\x64\xfe\x5c\xfe\x59\xfe\x46\xfe\x00\x00\x00\x00\x56\xfe\x57\xfe\x58\xfe\x9f\xfd\x9a\xfd\x72\xfd\x81\xfd\x98\xfd\x95\xfd\x69\xfd\x55\xfe\x7f\xfd\x80\xfd\x6b\xfd\x6a\xfd\x67\xfd\x68\xfd\x58\xfd\x56\xfd\x57\xfd\x55\xfd\x54\xfd\x53\xfd\x52\xfd\x51\xfd\x50\xfd\x4f\xfd\x00\x00\x00\x00\x00\x00\xd0\xfd\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xfd\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x26\xfe\x7b\xfd\x71\xfd\x70\xfd\x6e\xfd\x6f\xfd\x7a\xfd\x79\xfd\x78\xfd\x77\xfd\x76\xfd\x75\xfd\x74\xfd\x73\xfd\x7e\xfd\x00\x00\x4e\xfd\x6c\xfd\x6d\xfd\x7c\xfd\x4e\xfd\x4e\xfd\x4e\xfd\x00\x00\x4e\xfd\x7d\xfd\x00\x00\x00\x00\x00\x00\x17\xff\xed\xfe\x1e\xff\x14\xff\x07\xff\x00\x00\x13\xff\xfb\xfe\x00\x00\xf0\xfe\x00\x00\x00\x00\x37\xfd\xf4\xfe\x12\xff\x38\xfd\xff\xfe\xfe\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\xfd\xfe\x09\xff\x00\x00\x00\x00\x36\xfd\x35\xfd\x34\xfd\xe6\xfe\x00\x00\x00\x00\xd6\xff\xd6\xff\xbf\xfd\x00\x00\x4e\xfd\x00\x00\x86\xfe\x00\x00\xe2\xff\xf1\xff\xef\xff\x4e\xfd\x00\x00\xe2\xff\x00\x00\x4d\xff\x00\x00\xd6\xff\xd6\xff\x00\x00\xd7\xff\xd9\xff\x00\x00\x00\x00\x00\x00\x39\xfd\x01\xff\x82\xfd\x66\xfd\x00\xff\x64\xfd\x65\xfd\x00\x00\x00\x00\x83\xfd\x00\x00\x00\x00\x1e\xff\xed\xfe\xe9\xfe\x00\x00\x00\x00\xf8\xfe\x00\x00\x00\x00\xf6\xfe\x39\xfe\xe9\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x63\xfd\x5f\xfd\x62\xfd\x5d\xfd\x59\xfd\xfa\xfe\x5b\xfd\x00\x00\x5e\xfd\xfd\xfe\x5a\xfd\x00\x00\xee\xfe\x11\xff\x15\xff\x00\x00\xf1\xfe\x8b\xfd\x00\x00\x32\xfd\x31\xfd\x00\x00\x00\x00\x00\x00\xec\xfe\x30\xfd\x00\x00\x00\x00\x00\x00\xae\xfd\xb4\xfd\xb4\xfd\x00\x00\x61\xfe\x00\x00\x6a\xfe\xb1\xfd\x71\xfe\x75\xfe\xd6\xff\xd6\xff\x6b\xfe\x00\x00\x6f\xfe\x00\x00\xed\xfd\x21\xfe\x1d\xfe\x20\xfe\x1f\xfe\x1e\xfe\x19\xfe\x18\xfe\x17\xfe\x16\xfe\x14\xfe\x15\xfe\x13\xfe\x12\xfe\x11\xfe\x10\xfe\x0f\xfe\x0e\xfe\x0d\xfe\x0c\xfe\x0b\xfe\x0a\xfe\x09\xfe\x1b\xfe\x1a\xfe\x08\xfe\x07\xfe\x06\xfe\x05\xfe\x04\xfe\x03\xfe\x02\xfe\x01\xfe\x00\xfe\xff\xfd\xfe\xfd\xfd\xfd\xfc\xfd\xfb\xfd\xfa\xfd\xf9\xfd\xf8\xfd\xf7\xfd\xf6\xfd\xf5\xfd\xf4\xfd\xf3\xfd\xf2\xfd\x1c\xfe\xf1\xfd\xf0\xfd\xef\xfd\x3c\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x3f\xfe\x3e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7d\xfe\x00\x00\x00\x00\x2e\xfe\x00\x00\xbe\xfd\x6c\xfe\x5d\xfe\x00\x00\x62\xfe\x4e\xfd\x38\xfe\xcf\xfd\xce\xfd\x00\x00\x85\xfd\x84\xfd\x00\x00\x8f\xfd\x61\xfd\x60\xfd\x00\x00\x5c\xfd\xe9\xfd\x00\x00\xe8\xfd\xa3\xfd\x00\x00\x00\x00\xa1\xfd\x38\xfe\x00\x00\x00\x00\x00\x00\x8b\xfd\x00\x00\x61\xfd\x60\xfd\xa4\xfd\x5e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x65\xfe\x87\xfd\x86\xfd\x83\xfe\x91\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xff\x00\x00\x29\xfd\x2b\xfd\x00\x00\x00\x00\xd6\xff\xd6\xff\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\xff\x24\xff\x9e\xfd\x97\xfd\x00\x00\x00\x00\x00\x00\xd6\xff\x00\x00\x00\x00\xea\xff\xec\xff\x4c\xfd\x4d\xfd\x2d\xfd\x3c\xfd\x3b\xfd\xd6\xff\x2a\xfd\xd6\xff\xc0\xff\xbb\xff\xbe\xff\x7f\xfe\x80\xfe\x81\xfe\x82\xfe\x85\xfe\x00\x00\x00\x00\x7c\xfe\x7a\xfe\x00\x00\xac\xfd\xa9\xfd\x00\x00\x5b\xfe\xab\xfd\xb0\xfd\x5e\xfe\x5f\xfe\x99\xfd\x94\xfd\x49\xfe\x00\x00\x53\xfe\x54\xfe\x00\x00\xa2\xfd\x3a\xfe\x00\x00\x00\x00\x00\x00\x50\xfe\x4f\xfe\x00\x00\xa0\xfd\x00\x00\x4c\xfe\x00\x00\xe7\xfd\x00\x00\x00\x00\x37\xfe\x4b\xfe\x00\x00\x00\x00\x00\x00\x6d\xfe\xd6\xff\xd6\xff\x63\xfe\x00\x00\x00\x00\x48\xfe\x00\x00\x44\xfe\x43\xfe\x00\x00\x42\xfe\x41\xfe\x68\xff\xa2\xff\x00\x00\xd6\xff\x99\xff\x98\xff\x00\x00\x84\xff\x69\xff\x62\xff\x61\xff\x67\xff\x8b\xff\x7d\xfe\x66\xff\x4b\xfd\x65\xff\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x00\x00\xa0\xff\x9f\xff\x9e\xff\x7b\xff\x71\xff\x00\x00\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x36\xff\x28\xff\x28\xff\x00\x00\x54\xff\x00\x00\x00\x00\xea\xfd\x29\xfe\x00\x00\x23\xfe\x27\xfe\x70\xfe\x25\xfe\x00\x00\x4e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x72\xfe\x00\x00\x60\xfe\x00\x00\x00\x00\xb2\xfd\xb4\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x1a\xff\x1b\xff\x00\x00\x1c\xff\x1d\xff\x18\xff\xf9\xfe\xf2\xfe\xf3\xfe\xf7\xfe\x10\xff\x0c\xff\x00\x00\xf5\xfe\x0f\xff\x00\x00\x00\x00\x04\xff\x0e\xff\x00\x00\x0d\xff\x0a\xff\x00\x00\x05\xff\x00\x00\x02\xff\xe7\xfe\xe5\xfe\x00\x00\x00\x00\xfc\xfe\xd6\xff\xd6\xff\xc2\xff\xdb\xff\xd8\xff\xde\xff\x6c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\x00\x00\xed\xfd\xe4\xff\xea\xfd\x00\x00\xd4\xff\x00\x00\x00\x00\x4b\xff\x63\xff\x4c\xff\x64\xff\xd6\xff\x6a\xff\x8c\xfe\xd6\xff\xa6\xfd\x58\xfe\x00\x00\xd7\xff\xda\xff\xdd\xff\xef\xfe\x00\x00\x03\xff\x06\xff\x1a\xff\xea\xfe\xe8\xfe\x00\x00\xbe\xfe\xbd\xfe\xbb\xfe\xb7\xfe\xb6\xfe\xb5\xfe\x00\x00\x00\x00\xb9\xfe\x33\xfd\xeb\xfe\x00\x00\x67\xfe\x68\xfe\xb7\xfd\xb5\xfd\xb6\xfd\xb4\xfd\xb8\xfd\x74\xfe\x77\xfe\x00\x00\xbc\xfd\xbd\xfd\xb9\xfd\xd6\xff\x00\x00\x6e\xfe\x2e\xfe\x00\x00\x00\x00\xeb\xfd\x00\x00\xee\xfd\x00\x00\x7f\xfd\x67\xfd\x7b\xfd\x71\xfd\x70\xfd\x6e\xfd\x6f\xfd\x7a\xfd\x79\xfd\x78\xfd\x77\xfd\x76\xfd\x75\xfd\x74\xfd\x73\xfd\x7e\xfd\x6c\xfd\x6d\xfd\x7c\xfd\x7d\xfd\x22\xfe\x00\x00\x55\xff\x53\xff\x51\xff\x4e\xff\x00\x00\x00\x00\x00\x00\x29\xff\x00\x00\x26\xff\x00\x00\x00\x00\x37\xff\x34\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\xff\x6e\xff\x00\x00\xe0\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xfe\x00\x00\xd7\xff\x9b\xff\x00\x00\x00\x00\xa1\xff\xd2\xfd\x00\x00\xd4\xfd\x00\x00\x4e\xfd\x2f\xfe\x78\xfe\x00\x00\x00\x00\x00\x00\xcb\xfd\xdf\xfd\xdd\xfd\xdc\xfd\xdb\xfd\x00\x00\xcd\xfd\x38\xfe\xe1\xfd\x8e\xfd\xe3\xfd\xe5\xfd\x38\xfe\xe2\xfd\x4d\xfe\x4e\xfe\x00\x00\x30\xfe\x36\xfe\x2c\xfe\x2d\xfe\x51\xfe\x52\xfe\x00\x00\x33\xfe\x00\x00\x00\x00\x5a\xfe\x8a\xfd\x90\xfd\xb9\xff\xbc\xff\x00\x00\x00\x00\xeb\xff\xe8\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x21\xff\x00\x00\x00\x00\xe7\xff\x20\xff\x9d\xfd\x96\xfd\x22\xff\xe6\xff\xe9\xff\xd6\xff\xd6\xff\x00\x00\xba\xff\xad\xfd\xaa\xfd\x35\xfe\x34\xfe\x32\xfe\x31\xfe\xe6\xfd\x00\x00\x00\x00\xda\xfd\x00\x00\x00\x00\xc9\xfd\xca\xfd\xd6\xff\xc6\xfd\x00\x00\xd1\xfd\x00\x00\x00\x00\x47\xfe\xa3\xff\x89\xfd\x88\xfd\x9c\xff\x8d\xfd\x93\xfd\x00\x00\x40\xfe\x9a\xff\xaf\xfe\xc4\xfe\xd9\xfe\x00\x00\xcd\xfe\x60\xff\x00\x00\x49\xff\x8e\xfe\x8a\xfe\x88\xfe\x00\x00\x00\x00\x8e\xfe\x3c\xff\x48\xff\x47\xff\x46\xff\x45\xff\x44\xff\x43\xff\x42\xff\x41\xff\x00\x00\xab\xfe\xe2\xfe\xaf\xfe\x00\x00\x6f\xff\x19\xff\x70\xff\x00\x00\x7d\xff\x7e\xff\x7c\xff\x9d\xfe\x82\xff\x00\x00\x00\x00\x1f\xff\xaf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfd\x47\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\xff\x38\xff\x88\xff\x2a\xff\x87\xff\x00\x00\x27\xff\x86\xff\x85\xff\x00\x00\x00\x00\x00\x00\x59\xff\x26\xfe\x2a\xfe\x00\x00\x28\xfe\x24\xfe\x00\x00\xbb\xfd\x71\xfe\xb3\xfd\x00\x00\x00\x00\x00\x00\xbe\xfe\xb4\xfe\xba\xfe\x00\x00\x0b\xff\x00\x00\xc3\xff\xdc\xff\x00\x00\xd7\xff\xa8\xfd\x00\x00\xd7\xff\x6d\xff\x00\x00\x00\x00\x00\x00\xd5\xff\xd0\xff\xf0\xff\x00\x00\x26\xfe\xed\xff\x00\x00\xd0\xff\xce\xff\xcd\xff\xcb\xff\xd1\xff\x00\x00\x00\x00\x00\x00\xe3\xff\xe1\xff\xe0\xff\x6b\xff\xa7\xfd\x00\x00\xa5\xfd\x00\x00\xbc\xfe\xb8\xfe\x00\x00\xb2\xfe\x00\x00\x00\x00\xba\xfd\x00\x00\xec\xfd\x6f\xfe\x52\xff\x50\xff\x4f\xff\x25\xff\x2b\xff\x39\xff\x00\x00\x00\x00\x00\x00\x00\x00\x33\xff\x00\x00\x5a\xff\x5d\xff\x5e\xff\x3d\xfd\x00\x00\x41\xfd\xe6\xfe\x44\xfd\x46\xfd\x49\xfd\x4a\xfd\x97\xff\x7a\xff\x00\x00\x83\xff\x8e\xff\x4e\xfd\x8d\xff\x8c\xff\x92\xff\x00\x00\xdf\xfe\xdd\xfe\x8f\xff\x4e\xfd\x89\xff\x00\x00\x9c\xfd\x00\x00\x00\x00\x00\x00\x40\xff\x3f\xff\x3e\xff\x3d\xff\x90\xfe\x4e\xfd\x00\x00\x8b\xfe\x89\xfe\x91\xfe\x00\x00\x00\x00\xd3\xfe\xd1\xfe\x00\x00\xe6\xfe\xae\xfe\xc4\xfe\x4e\xfd\x94\xff\x00\x00\xc4\xfe\xd9\xfe\x00\x00\x00\x00\x00\x00\xd5\xfd\xd3\xfd\x8e\xfe\xc3\xfd\xc1\xfd\x00\x00\xd7\xff\xc8\xfd\xde\xfd\x00\x00\x00\x00\x00\x00\xcc\xfd\xe0\xfd\xe4\xfd\xb7\xff\xd7\xff\x00\x00\x00\x00\x2e\xfd\x2f\xfd\xb5\xff\x00\x00\xd9\xfd\xd7\xfd\xd8\xfd\xc7\xfd\xc4\xfd\xc2\xfd\xc5\xfd\x9d\xff\x8c\xfd\x92\xfd\xc4\xfe\x91\xff\xc3\xfe\xbf\xfe\x00\x00\xd6\xff\xd6\xff\x93\xff\x00\x00\x00\x00\xc8\xfe\x00\x00\xcf\xfe\xcc\xfe\x00\x00\xf4\xfe\x00\x00\xcd\xfe\x5f\xff\x4a\xff\x00\x00\x00\x00\x8f\xfe\x8a\xff\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\xe2\xfe\xe3\xfe\xe2\xfe\xd6\xff\xd6\xff\x81\xff\x80\xff\x7f\xff\x95\xff\x96\xff\x4e\xfd\x48\xfd\x4e\xfd\x00\x00\x3e\xfd\x00\x00\x00\x00\x58\xff\x56\xff\x32\xff\x00\x00\x00\x00\x2f\xff\x2d\xff\x00\x00\x00\x00\x00\x00\xc0\xfd\x00\x00\x00\x00\xb1\xfe\x00\x00\xe4\xfe\xc6\xff\x00\x00\xcc\xff\xc5\xff\xc4\xff\xc7\xff\x00\x00\x00\x00\xd1\xff\xd2\xff\x00\x00\x00\x00\xcf\xff\xd3\xff\x00\x00\xa6\xff\xa5\xff\xa4\xff\xc9\xff\x00\x00\xb3\xfe\x00\x00\x00\x00\x76\xfe\x00\x00\x00\x00\x00\x00\x2e\xff\x30\xff\x5b\xff\x00\x00\x5c\xff\x3f\xfd\x00\x00\xd6\xff\xd6\xff\x79\xff\x00\x00\x00\x00\x9b\xfe\x00\x00\x00\x00\x00\x00\xdc\xfe\xde\xfe\xa9\xfe\x00\x00\x00\x00\x3a\xff\x00\x00\x9b\xfd\x87\xfe\xd2\xfe\x00\x00\x00\x00\xc8\xfe\xd0\xfe\x00\x00\x00\x00\x00\x00\xce\xfe\x00\x00\x00\x00\x00\x00\xc0\xfe\x00\x00\xc2\xfe\x90\xff\x00\x00\xb8\xff\xc1\xff\xb6\xff\x00\x00\xb2\xff\xd0\xff\xd6\xfd\xc1\xfe\xda\xfe\xdb\xfe\xd6\xff\xd6\xfe\x00\x00\xcb\xfe\x16\xff\x00\x00\x00\x00\x00\x00\xc6\xfe\xca\xfe\xf3\xfe\x3b\xff\xac\xfe\xad\xfe\xa6\xfe\xd6\xff\xa7\xfe\xa5\xfe\x00\x00\x00\x00\x00\x00\xe1\xfe\x9e\xfe\x9f\xfe\x00\x00\x95\xfe\x96\xfe\xd6\xff\x99\xfe\x97\xfe\x98\xfe\x72\xff\x00\x00\x00\x00\x74\xff\x00\x00\x00\x00\x6c\xff\x00\x00\x00\x00\x40\xfd\x57\xff\x00\x00\x35\xff\x00\x00\x00\x00\xb0\xfe\xca\xff\xc8\xff\x00\x00\x00\x00\xee\xff\xa7\xff\x00\x00\x2b\xfe\x00\x00\x42\xfd\x43\xfd\x77\xff\x75\xff\x00\x00\x78\xff\x00\x00\xd7\xff\x9c\xfe\xaf\xfe\x00\x00\x17\xff\xaf\xfe\x00\x00\xa4\xfe\x00\x00\xaf\xfe\xd7\xff\xaa\xfe\xc9\xfe\x00\x00\x00\x00\x00\x00\xd7\xff\xd8\xfe\x00\x00\xd0\xff\xaf\xff\xae\xff\x3a\xfd\xab\xff\x00\x00\x00\x00\xac\xff\xad\xff\x00\x00\x00\x00\xd1\xff\xb3\xff\xd7\xfe\xd5\xfe\x00\x00\xc5\xfe\xc7\xfe\xa8\xfe\xa0\xfe\x00\x00\x00\x00\xa3\xfe\x00\x00\xc4\xfe\xd9\xfe\x9a\xfe\x00\x00\x73\xff\x76\xff\x2c\xff\x66\xfe\x94\xfe\xc4\xfe\x93\xfe\xa2\xfe\x00\x00\x60\xff\x00\x00\xb0\xff\xb4\xff\x00\x00\xa9\xff\x00\x00\xaa\xff\xa8\xff\x00\x00\xa1\xfe\x92\xfe\x00\x00\xd4\xfe"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x04\x00\x04\x00\x04\x00\x02\x00\x04\x00\x04\x00\x04\x00\x20\x00\x2f\x00\x11\x00\x12\x00\x13\x00\x3e\x00\x3f\x00\x40\x00\x45\x00\x45\x00\x63\x00\x0b\x00\x0d\x00\x0e\x00\x0b\x00\x37\x00\x14\x00\x0d\x00\x0e\x00\x37\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1a\x00\x41\x00\xb7\x00\x11\x00\xc2\x00\x41\x00\x16\x00\x42\x00\x0d\x00\x0e\x00\x37\x00\x0d\x00\x0e\x00\xb7\x00\x0d\x00\x0e\x00\x1a\x00\x1f\x00\x20\x00\x37\x00\x41\x00\x13\x00\x1e\x00\x46\x00\x00\x00\x48\x00\x1a\x00\x34\x00\xc2\x00\x41\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x0c\x00\x34\x00\x0d\x00\x0e\x00\x1a\x00\x1b\x00\x22\x00\xc2\x00\x01\x00\xe9\x00\x0d\x00\x0e\x00\x1a\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1a\x00\xe9\x00\x1d\x00\x1a\x00\x22\x00\x73\x00\x74\x00\x09\x00\xd0\x00\x0b\x00\x0d\x00\x0e\x00\xe9\x00\x09\x00\x75\x00\x1a\x00\xe9\x00\x73\x00\x2f\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xe0\x00\x23\x00\x00\x00\x39\x00\x05\x00\xe9\x00\x4a\x00\x4b\x00\x34\x00\x4e\x00\x26\x00\x34\x00\x5b\x00\x27\x00\x69\x00\xcd\x00\x24\x00\x21\x00\x22\x00\x21\x00\x22\x00\x1a\x00\x6b\x00\x69\x00\x1d\x00\x1a\x00\x3f\x00\x40\x00\x1a\x00\x70\x00\xdc\x00\x1d\x00\xdc\x00\x15\x00\x16\x00\x5e\x00\x26\x00\x11\x00\x8b\x00\x8c\x00\x8d\x00\x30\x00\x31\x00\x2d\x00\x6b\x00\xcd\x00\xcd\x00\x23\x00\xcc\x00\x25\x00\x6a\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x85\x00\xf5\x00\xf6\x00\x85\x00\xdc\x00\xdc\x00\x32\x00\x7a\x00\xdc\x00\xdd\x00\x36\x00\x6a\x00\x38\x00\x39\x00\x3a\x00\x92\x00\xce\x00\xcc\x00\x51\x00\x52\x00\x80\x00\xd0\x00\x7e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdb\x00\xdc\x00\xdd\x00\xe9\x00\xdc\x00\xdd\x00\x92\x00\xce\x00\xe0\x00\xe9\x00\xd1\x00\x92\x00\xc0\x00\xe9\x00\x92\x00\xc8\x00\x80\x00\xc0\x00\xce\x00\xb8\x00\xdb\x00\xdc\x00\xdd\x00\xc8\x00\xdf\x00\xe0\x00\x92\x00\xf3\x00\xe9\x00\x75\x00\xcc\x00\xdb\x00\xdc\x00\xdd\x00\xd0\x00\xdf\x00\xe0\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xb8\x00\xe9\x00\xe9\x00\xe9\x00\xf4\x00\xdc\x00\xdd\x00\xce\x00\xe9\x00\xe0\x00\xd1\x00\xe9\x00\x9f\x00\xcc\x00\xa1\x00\xfa\x00\xfc\x00\xfb\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\x89\x00\xdf\x00\xe0\x00\xdc\x00\xdd\x00\xf3\x00\xdc\x00\xdd\x00\x91\x00\x92\x00\x93\x00\x94\x00\x16\x00\x7e\x00\x97\x00\x98\x00\x99\x00\x6c\x00\xcc\x00\x9c\x00\x9d\x00\x9e\x00\xf4\x00\x42\x00\x77\x00\x23\x00\x22\x00\x25\x00\xa5\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xd2\x00\xdc\x00\xdd\x00\xd5\x00\x2d\x00\xd7\x00\xcc\x00\x32\x00\xcc\x00\x22\x00\xd0\x00\x36\x00\xd0\x00\x38\x00\x39\x00\x3a\x00\xe2\x00\xe0\x00\x42\x00\xe5\x00\xe6\x00\x50\x00\xdc\x00\xdd\x00\xdc\x00\xdd\x00\xe0\x00\x9f\x00\xe0\x00\x42\x00\xa2\x00\xdc\x00\x39\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\x6d\x00\xd1\x00\x74\x00\x30\x00\x31\x00\xcc\x00\x4a\x00\x4b\x00\xdc\x00\xd0\x00\x6b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x7e\x00\xf5\x00\xf6\x00\x17\x00\xdc\x00\xdd\x00\x9f\x00\xe8\x00\xe0\x00\x63\x00\xeb\x00\xec\x00\x73\x00\x74\x00\x22\x00\xf0\x00\xf5\x00\xf6\x00\x64\x00\x51\x00\x52\x00\x67\x00\x68\x00\xea\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xd1\x00\xdc\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x89\x00\xdf\x00\xe0\x00\x22\x00\xea\x00\xdf\x00\xe0\x00\x26\x00\x91\x00\x92\x00\x93\x00\x94\x00\x2b\x00\x08\x00\x97\x00\x98\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\x3e\x00\x3f\x00\x40\x00\x23\x00\xda\x00\x25\x00\xa5\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xe1\x00\xe2\x00\xe3\x00\xce\x00\xe5\x00\xe6\x00\xe7\x00\x32\x00\xbd\x00\x25\x00\xea\x00\x36\x00\xc1\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\x51\x00\x52\x00\x31\x00\x32\x00\x33\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6d\x00\xce\x00\xe9\x00\xcb\x00\x64\x00\x31\x00\xce\x00\xcf\x00\x68\x00\xd1\x00\x5a\x00\x5b\x00\xce\x00\xcc\x00\xdb\x00\xdc\x00\xdd\x00\x7e\x00\xf9\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdc\x00\xdd\x00\xea\x00\xe8\x00\xdc\x00\xdd\x00\xeb\x00\xec\x00\x51\x00\x52\x00\xd5\x00\xf0\x00\xdc\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x4e\x00\x4f\x00\xca\x00\x07\x00\xe2\x00\xf5\x00\xf6\x00\xcf\x00\xdc\x00\x0d\x00\x0e\x00\xdf\x00\xe0\x00\xa5\x00\xd1\x00\xa7\x00\x89\x00\xdc\x00\xf5\x00\xf6\x00\xdf\x00\xe0\x00\xde\x00\xea\x00\x91\x00\x92\x00\x93\x00\x94\x00\xdf\x00\xe0\x00\x97\x00\x98\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\x6d\x00\x23\x00\xcc\x00\x25\x00\xf5\x00\xf6\x00\xa5\x00\x29\x00\x2a\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x1a\x00\x17\x00\xcc\x00\x32\x00\x7e\x00\xdc\x00\xdd\x00\x36\x00\xe9\x00\x38\x00\x39\x00\x3a\x00\x22\x00\x6b\x00\x6c\x00\x51\x00\x52\x00\x2b\x00\xdc\x00\xdd\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2e\x00\xe5\x00\xe6\x00\xdc\x00\xd0\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\xdc\x00\xd1\x00\x3a\x00\xdf\x00\xe0\x00\xdc\x00\xdc\x00\xdd\x00\xdf\x00\xe0\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x05\x00\xf5\x00\xf6\x00\xdc\x00\xdd\x00\x17\x00\xed\x00\xe8\x00\xf5\x00\xf6\x00\xeb\x00\xec\x00\x17\x00\xf5\x00\xf6\x00\xf0\x00\x22\x00\x16\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xcc\x00\x1a\x00\xdc\x00\x75\x00\xd0\x00\xdf\x00\xe0\x00\x28\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x89\x00\xdc\x00\xdd\x00\xf2\x00\x22\x00\xe0\x00\x08\x00\x09\x00\x91\x00\x92\x00\x93\x00\x94\x00\xf5\x00\xf6\x00\x97\x00\x98\x00\x99\x00\x4f\x00\x50\x00\x9c\x00\x9d\x00\x9e\x00\x23\x00\xea\x00\x25\x00\xd1\x00\x4f\x00\x50\x00\xa5\x00\x45\x00\x46\x00\x17\x00\x48\x00\x49\x00\xcc\x00\x25\x00\x16\x00\x4d\x00\xd0\x00\xdf\x00\xe0\x00\x36\x00\x22\x00\x38\x00\x39\x00\x3a\x00\xbd\x00\x31\x00\x32\x00\x33\x00\xdc\x00\xdd\x00\x17\x00\x22\x00\xe0\x00\xdc\x00\xdd\x00\x26\x00\x23\x00\x08\x00\x25\x00\x0a\x00\x2b\x00\x22\x00\xdc\x00\x1b\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\x22\x00\xd1\x00\xee\x00\xdc\x00\xdd\x00\x35\x00\x36\x00\x29\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x25\x00\xf5\x00\xf6\x00\xce\x00\xee\x00\x05\x00\x06\x00\xe8\x00\x0d\x00\x0e\x00\xeb\x00\xec\x00\x31\x00\x32\x00\x33\x00\xf0\x00\xdb\x00\xdc\x00\xdd\x00\x08\x00\x09\x00\xcc\x00\x16\x00\x19\x00\x9f\x00\xd0\x00\x1a\x00\xa2\x00\x81\x00\x82\x00\x83\x00\x17\x00\x22\x00\x4d\x00\x4e\x00\x4f\x00\x89\x00\xdc\x00\xdd\x00\x8a\x00\xdc\x00\xe0\x00\x22\x00\xdf\x00\xe0\x00\x1c\x00\x93\x00\x24\x00\x25\x00\x69\x00\x97\x00\x22\x00\x99\x00\x1c\x00\xcc\x00\x9c\x00\x9d\x00\x9e\x00\xd0\x00\x22\x00\x31\x00\x32\x00\x33\x00\xcc\x00\xa5\x00\xf5\x00\xf6\x00\xd0\x00\x05\x00\x06\x00\xdc\x00\xdd\x00\x89\x00\x9f\x00\xe0\x00\xa1\x00\xc6\x00\xc7\x00\x19\x00\xdc\x00\xdd\x00\x19\x00\x93\x00\xe0\x00\xce\x00\x16\x00\x97\x00\x22\x00\x99\x00\x75\x00\x22\x00\x9c\x00\x9d\x00\x9e\x00\x23\x00\x96\x00\x25\x00\xdb\x00\xdc\x00\xdd\x00\xa5\x00\xe9\x00\xcb\x00\xc6\x00\xc7\x00\xce\x00\xcf\x00\x26\x00\xd1\x00\x75\x00\xa5\x00\xce\x00\xa7\x00\x36\x00\x2d\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\x22\x00\x96\x00\x62\x00\x23\x00\xe8\x00\x25\x00\x28\x00\xeb\x00\xec\x00\xc9\x00\xca\x00\xcb\x00\xf0\x00\xe9\x00\xce\x00\xcf\x00\xa5\x00\xd1\x00\xa7\x00\x05\x00\x06\x00\x35\x00\x36\x00\xe9\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcc\x00\x0d\x00\x0e\x00\x16\x00\xd0\x00\x05\x00\x06\x00\xe8\x00\x03\x00\xd1\x00\xeb\x00\xec\x00\x19\x00\x08\x00\x09\x00\xf0\x00\xdc\x00\xdd\x00\xda\x00\x19\x00\xe0\x00\x22\x00\x16\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xce\x00\x22\x00\x82\x00\x83\x00\x05\x00\x06\x00\x9f\x00\x19\x00\xa1\x00\x89\x00\x2c\x00\x3b\x00\x3c\x00\xdb\x00\xdc\x00\xdd\x00\x22\x00\xf4\x00\xce\x00\x93\x00\x22\x00\x16\x00\x2e\x00\x97\x00\x9f\x00\x99\x00\x28\x00\xa2\x00\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\x52\x00\xef\x00\x54\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x89\x00\x5e\x00\x5f\x00\x23\x00\x62\x00\x25\x00\xe1\x00\xe2\x00\x0d\x00\x0e\x00\x93\x00\x7b\x00\x7c\x00\xf2\x00\x97\x00\x29\x00\x99\x00\xa6\x00\x2c\x00\x9c\x00\x9d\x00\x9e\x00\x36\x00\x11\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\xa5\x00\x1c\x00\xcb\x00\xdc\x00\xdd\x00\xce\x00\xcf\x00\xe0\x00\xd1\x00\xbd\x00\xe2\x00\x05\x00\x06\x00\xe5\x00\xe6\x00\x09\x00\x95\x00\x0b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x64\x00\x65\x00\x1f\x00\xd2\x00\x16\x00\x22\x00\xd5\x00\xe8\x00\xd7\x00\x47\x00\xeb\x00\xec\x00\x1e\x00\xa6\x00\xcb\x00\xf0\x00\x7e\x00\xce\x00\xcf\x00\xe2\x00\xd1\x00\x27\x00\xe5\x00\xe6\x00\xce\x00\x49\x00\x1a\x00\xd1\x00\x1c\x00\x2b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x84\x00\xdb\x00\xdc\x00\xdd\x00\x7e\x00\xdf\x00\xe0\x00\xe8\x00\x7f\x00\xd1\x00\xeb\x00\xec\x00\xa8\x00\xa9\x00\xaa\x00\xf0\x00\x33\x00\x89\x00\x8e\x00\xdb\x00\xdc\x00\xdd\x00\x01\x00\xdf\x00\xe0\x00\x44\x00\xcf\x00\x93\x00\x8a\x00\x08\x00\x09\x00\x97\x00\x29\x00\x99\x00\x2b\x00\x8a\x00\x9c\x00\x9d\x00\x9e\x00\xdc\x00\x75\x00\xde\x00\xdf\x00\xe0\x00\xf4\x00\xa5\x00\x69\x00\x52\x00\x53\x00\x54\x00\xf2\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdc\x00\xdd\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x32\x00\xf5\x00\xf6\x00\xce\x00\xa8\x00\xa9\x00\xaa\x00\x39\x00\x3a\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x01\x00\x1a\x00\xdb\x00\xdc\x00\xdd\x00\xe0\x00\xcb\x00\x08\x00\x09\x00\xce\x00\xcf\x00\xe3\x00\xd1\x00\xe5\x00\xe6\x00\xe7\x00\xea\x00\x3b\x00\x3c\x00\x1c\x00\x1d\x00\x1e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x6e\x00\x6f\x00\x70\x00\x3b\x00\x3c\x00\x43\x00\x29\x00\xe8\x00\x2b\x00\x43\x00\xeb\x00\xec\x00\x52\x00\x66\x00\x54\x00\xf0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xe5\x00\xe6\x00\x5e\x00\x5f\x00\x52\x00\x2b\x00\x54\x00\x2d\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xe5\x00\xe6\x00\x5e\x00\x5f\x00\x6f\x00\x70\x00\x86\x00\x87\x00\x88\x00\x89\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x2d\x00\xdb\x00\xdc\x00\xdd\x00\x93\x00\xdf\x00\xe0\x00\x09\x00\x97\x00\x0b\x00\x99\x00\x15\x00\x16\x00\x9c\x00\x9d\x00\x9e\x00\xcf\x00\xe2\x00\x51\x00\x52\x00\x48\x00\x54\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdc\x00\x03\x00\xde\x00\xdf\x00\xe0\x00\x32\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xab\x00\x39\x00\x3a\x00\x4d\x00\x0d\x00\x0e\x00\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdf\x00\xe0\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x51\x00\x52\x00\x53\x00\x54\x00\xcb\x00\x0d\x00\x0e\x00\xce\x00\xcf\x00\x0a\x00\xd1\x00\x38\x00\x39\x00\x3a\x00\xbb\x00\xbc\x00\xbd\x00\xc4\x00\xf5\x00\xf6\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x27\x00\xd1\x00\x29\x00\x27\x00\xcf\x00\x29\x00\xea\x00\xe8\x00\x8c\x00\x8d\x00\x8e\x00\xdb\x00\xdc\x00\xdd\x00\xea\x00\xdf\x00\xe0\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x27\x00\xdc\x00\x29\x00\xde\x00\xdf\x00\xe0\x00\xf4\x00\x87\x00\x88\x00\x89\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x8c\x00\x8d\x00\x8e\x00\x15\x00\x16\x00\x93\x00\xa8\x00\xa9\x00\xaa\x00\x97\x00\xea\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\xea\x00\xcf\x00\x51\x00\x52\x00\xe1\x00\xe2\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2d\x00\xdc\x00\x93\x00\xde\x00\xdf\x00\xe0\x00\x97\x00\x48\x00\x99\x00\x51\x00\x52\x00\x9c\x00\x9d\x00\x9e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xa5\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xf5\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\xcb\x00\xda\x00\x48\x00\xce\x00\xcf\x00\x27\x00\xd1\x00\x29\x00\xe1\x00\xe2\x00\xe3\x00\x48\x00\xe5\x00\xe6\x00\xe7\x00\x48\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x0c\x00\x0d\x00\x0e\x00\xea\x00\x27\x00\xcb\x00\x29\x00\xe8\x00\xce\x00\xcf\x00\x24\x00\xd1\x00\xa8\x00\xa9\x00\xaa\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x51\x00\x52\x00\x0d\x00\x0e\x00\xe8\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x52\x00\x27\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x19\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xd1\x00\xe1\x00\xe2\x00\xe3\x00\xea\x00\xe5\x00\xe6\x00\xe7\x00\xe0\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xf2\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xdc\x00\x0d\x00\x0e\x00\xdf\x00\xe0\x00\x27\x00\x52\x00\x29\x00\x54\x00\xe0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x9f\x00\xf4\x00\x5e\x00\x5f\x00\xdc\x00\x61\x00\xab\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x18\x00\x8b\x00\x8c\x00\x8d\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x9f\x00\x95\x00\xf5\x00\xf6\x00\x52\x00\x27\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0d\x00\x0e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\xea\x00\x29\x00\xdc\x00\x0f\x00\x10\x00\xdf\x00\xe0\x00\x27\x00\x52\x00\x29\x00\x54\x00\xf2\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x17\x00\xcf\x00\x5e\x00\x5f\x00\xdc\x00\x61\x00\xa6\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x2b\x00\xda\x00\x2d\x00\xdc\x00\x62\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe9\x00\xe5\x00\xe6\x00\xe7\x00\x76\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x0d\x00\x0e\x00\x09\x00\x9f\x00\xa9\x00\xaa\x00\x46\x00\x47\x00\xf5\x00\xf6\x00\xcf\x00\x52\x00\x0d\x00\x0e\x00\x09\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x16\x00\xdc\x00\x2d\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x52\x00\x17\x00\x54\x00\x63\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0d\x00\x0e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x7b\x00\xcf\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x05\x00\x06\x00\x0d\x00\x0e\x00\x08\x00\x09\x00\xda\x00\x63\x00\xdc\x00\x29\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\x17\x00\xe5\x00\xe6\x00\xe7\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x24\x00\x25\x00\x16\x00\x27\x00\xcf\x00\x05\x00\x06\x00\x05\x00\x06\x00\xf5\x00\xf6\x00\x4a\x00\x4b\x00\x31\x00\x32\x00\x33\x00\x22\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\x1a\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x28\x00\x29\x00\x5e\x00\x5f\x00\x28\x00\x61\x00\x03\x00\x04\x00\x4a\x00\x4b\x00\xf5\x00\xf6\x00\x28\x00\x29\x00\x05\x00\x06\x00\x29\x00\x52\x00\x1a\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x17\x00\x5d\x00\x5e\x00\x5f\x00\x28\x00\x29\x00\x01\x00\x88\x00\x89\x00\x4a\x00\xdc\x00\x05\x00\x06\x00\xdf\x00\xe0\x00\x1c\x00\xcf\x00\x1b\x00\x92\x00\x29\x00\x0f\x00\x4a\x00\x16\x00\x28\x00\x17\x00\x22\x00\x1c\x00\x16\x00\x05\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x28\x00\xf5\x00\xf6\x00\x52\x00\x1c\x00\x54\x00\x9f\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\x0c\x00\x17\x00\x27\x00\xf5\x00\xf6\x00\x52\x00\x17\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x22\x00\x54\x00\x47\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x92\x00\x5d\x00\x5e\x00\x5f\x00\x29\x00\x50\x00\x25\x00\x1b\x00\xcf\x00\x1b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x92\x00\x67\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x28\x00\x1b\x00\x1b\x00\x5d\x00\x69\x00\x63\x00\x52\x00\x1a\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6b\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\x7c\x00\xde\x00\xdf\x00\xe0\x00\x7a\x00\x22\x00\x2b\x00\x7b\x00\x24\x00\x24\x00\x52\x00\x7b\x00\x54\x00\x1b\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x63\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\x63\x00\x2b\x00\x1b\x00\x28\x00\x52\x00\x1b\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\x1b\x00\x7b\x00\xdc\x00\x7b\x00\xde\x00\xdf\x00\xe0\x00\x1f\x00\xcf\x00\x01\x00\x65\x00\x0c\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x17\x00\x16\x00\x29\x00\x22\x00\x17\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x7b\x00\xf5\x00\xf6\x00\x1a\x00\x16\x00\x92\x00\x92\x00\x17\x00\x22\x00\xdc\x00\x1f\x00\xde\x00\xdf\x00\xe0\x00\x24\x00\x25\x00\x1a\x00\x27\x00\x28\x00\x31\x00\xf5\x00\xf6\x00\x17\x00\x0f\x00\x67\x00\x28\x00\x0c\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xf5\x00\xf6\x00\x1f\x00\x52\x00\xcf\x00\x54\x00\x28\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x28\x00\x5d\x00\x5e\x00\x5f\x00\xdc\x00\x92\x00\xde\x00\xdf\x00\xe0\x00\x92\x00\x92\x00\x29\x00\x22\x00\x7b\x00\x17\x00\x50\x00\x28\x00\x7b\x00\xcf\x00\x7b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xf5\x00\xf6\x00\xdc\x00\x2b\x00\xde\x00\xdf\x00\xe0\x00\x7b\x00\x52\x00\xcf\x00\x54\x00\x69\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x67\x00\x5d\x00\x5e\x00\x5f\x00\xdc\x00\x7b\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x63\x00\x7c\x00\x22\x00\x17\x00\x6c\x00\x5e\x00\x52\x00\x17\x00\x54\x00\x05\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0f\x00\x2b\x00\xf5\x00\xf6\x00\x52\x00\x2b\x00\x54\x00\x22\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2b\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x1c\x00\x54\x00\x1b\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2c\x00\x5d\x00\x5e\x00\x5f\x00\x41\x00\x1a\x00\x92\x00\x2b\x00\x92\x00\x92\x00\x52\x00\x29\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x09\x00\x5d\x00\x5e\x00\x5f\x00\x1e\x00\x22\x00\xdc\x00\x0f\x00\xde\x00\xdf\x00\xe0\x00\x92\x00\x22\x00\x2b\x00\x92\x00\x4c\x00\x29\x00\x52\x00\x0c\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\x1a\x00\x28\x00\x0f\x00\x5f\x00\x52\x00\x0f\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x16\x00\x5d\x00\x5e\x00\x5f\x00\x29\x00\x4c\x00\xdc\x00\x52\x00\xde\x00\xdf\x00\xe0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x52\x00\x46\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x1c\x00\x24\x00\x27\x00\x1a\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x1c\x00\x78\x00\x1c\x00\x1b\x00\x47\x00\x0f\x00\xf5\x00\xf6\x00\x17\x00\xdc\x00\x1e\x00\xde\x00\xdf\x00\xe0\x00\x70\x00\x16\x00\xcf\x00\x66\x00\x0c\x00\x24\x00\xf5\x00\xf6\x00\x29\x00\x22\x00\x1c\x00\x7c\x00\x05\x00\x24\x00\x24\x00\xdc\x00\x92\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x22\x00\x73\x00\x51\x00\x17\x00\x52\x00\x17\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x92\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x17\x00\x17\x00\xcf\x00\x52\x00\x22\x00\x1f\x00\x22\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xd1\x00\x21\x00\xdc\x00\x2d\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x1b\x00\xdb\x00\xdc\x00\xdd\x00\x2b\x00\xdf\x00\xe0\x00\xcf\x00\x17\x00\x41\x00\xdc\x00\x41\x00\x41\x00\xdf\x00\xe0\x00\x27\x00\x4c\x00\x1f\x00\xf5\x00\xf6\x00\xdc\x00\x75\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\xf4\x00\x54\x00\x1a\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xf5\x00\xf6\x00\x5e\x00\x5f\x00\x6c\x00\x61\x00\x2d\x00\x92\x00\x0c\x00\x17\x00\xf5\x00\xf6\x00\x92\x00\x17\x00\x17\x00\x17\x00\x17\x00\x52\x00\x22\x00\x54\x00\x1f\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x21\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x1f\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x73\x00\xcf\x00\x32\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6c\x00\x1b\x00\x93\x00\x1b\x00\x28\x00\xdc\x00\x0f\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\x93\x00\x54\x00\x92\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x93\x00\x0f\x00\x5e\x00\x5f\x00\x0f\x00\x1b\x00\x1b\x00\x1b\x00\x93\x00\xdc\x00\xf5\x00\xf6\x00\xdf\x00\xe0\x00\x2c\x00\x1b\x00\x2c\x00\x52\x00\x83\x00\x54\x00\x93\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x73\x00\x00\x00\x5f\x00\x00\x00\x6b\x00\x1b\x00\xf5\x00\xf6\x00\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x73\x00\x73\x00\x73\x00\x5f\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\x29\x00\xdc\x00\x2b\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xf1\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xf1\x00\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x01\x00\xff\xff\x5e\x00\x5f\x00\x05\x00\x06\x00\xff\xff\xff\xff\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xcf\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\x52\x00\x69\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xcf\x00\xf5\x00\xf6\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\x25\x00\xdc\x00\x27\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\xd6\x00\xff\xff\xff\xff\xff\xff\xda\x00\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xcf\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xdc\x00\xff\xff\x8b\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xd3\x00\xff\xff\xff\xff\xd6\x00\xff\xff\xd8\x00\xff\xff\xda\x00\xff\xff\xff\xff\xd1\x00\xff\xff\xf5\x00\xf6\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdf\x00\xe0\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xf4\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x8b\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xd3\x00\x66\x00\x67\x00\xd6\x00\x69\x00\xd8\x00\xff\xff\xda\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xd3\x00\x66\x00\x67\x00\xd6\x00\x69\x00\xd8\x00\xff\xff\xda\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x8e\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\x3b\x00\x3c\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x67\x00\xff\xff\x69\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x7c\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x8a\x00\xff\xff\x27\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x69\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xd3\x00\xff\xff\x27\x00\xd6\x00\xff\xff\xd8\x00\x8a\x00\xda\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xf4\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\x69\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x8a\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xd3\x00\x32\x00\xff\xff\xd6\x00\xff\xff\xd8\x00\xff\xff\xda\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xe1\x00\xe2\x00\xe3\x00\x42\x00\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\x32\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x42\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\x09\x00\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x42\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\x42\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xa5\x00\xff\xff\x69\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x7d\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x8a\x00\xff\xff\x23\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\x09\x00\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x69\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x8a\x00\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x01\x00\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\x2d\x00\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x50\x00\x51\x00\x52\x00\x53\x00\x22\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x1e\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x7c\x00\xff\xff\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\x02\x00\x7c\x00\xff\xff\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\x1e\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x7c\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x7c\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x69\x00\x05\x00\x06\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x1c\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xcb\x00\x26\x00\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x7c\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x01\x00\xff\xff\xff\xff\x7c\x00\x05\x00\x06\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x1e\x00\x7c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\x50\x00\x51\x00\x52\x00\x53\x00\x69\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\x01\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xa5\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x25\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xcb\x00\xff\xff\x7c\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xe8\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\x69\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb4\x00\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb4\x00\xb5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xbe\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xa5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xe8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xb4\x00\xb5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xbe\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xe8\x00\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xbe\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xa5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xbf\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xe8\x00\xe9\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xaf\x00\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xb6\x00\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xae\x00\xaf\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xba\x00\xa5\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xba\x00\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa3\x00\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa3\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\x94\x00\xd1\x00\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\x97\x00\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x12\x00\x0e\x00\x10\x00\x9b\x00\x0c\x00\x9c\x00\x14\x00\x0b\x05\x67\x04\x84\x03\x85\x03\x86\x03\x9f\x03\x8f\x02\x90\x02\x1c\x04\xc4\x03\x26\x02\x39\x02\xa8\x00\x31\x02\x93\x00\xa3\x00\x45\x04\xa8\x00\xfd\x01\xa3\x00\xa8\x00\x31\x02\xa8\x00\xfd\x01\x30\x02\x1b\x04\x70\x02\xe3\x04\xe5\x00\x10\x03\xb1\xff\x98\x04\xa8\x00\xc6\x02\xa3\x00\xa8\x00\x6a\x04\xbe\x01\xa8\x00\x6a\x04\x30\x02\xe4\x04\xe5\x04\xa3\x00\xa4\x00\x4f\x04\x9e\x02\xa1\x00\x87\x01\xa2\x00\x30\x02\x32\x02\xeb\x00\xec\x00\xa8\x00\xc6\x02\xa8\x00\x80\x04\x52\x03\x34\x02\xa8\x00\x70\x04\x4e\xfd\x8e\x01\xc4\x01\xf1\x00\x29\x04\xe6\x00\xa8\x00\xb7\x04\x56\x03\xa8\x00\xb7\x04\xa8\x00\x80\x04\x58\x03\xbf\x01\x88\x01\x58\x03\x13\x03\x0a\x05\x9a\x04\xb3\x00\xeb\x04\xb4\x00\xa8\x00\x70\x04\xbf\x01\xb3\x00\x14\x05\x30\x02\xe6\x00\xa3\x00\x53\x03\x87\x01\x8d\x02\x8e\x02\x8f\x02\x90\x02\x7d\x01\x2a\x04\x87\x01\x14\x03\x36\x00\xe6\x00\x5e\x04\x38\x04\xb8\x04\x66\x03\x14\x03\xb9\x04\x41\x03\xb7\x00\x8d\x04\x1e\x04\x7f\x04\x0d\x05\x52\x04\x51\x04\x52\x04\xce\x04\x17\x00\x05\x05\x88\x01\x30\x02\xa0\x03\x90\x02\x30\x02\xa0\x02\xc6\x03\x88\x01\x7f\x00\x2c\x02\x2d\x02\xee\x03\x06\x03\xee\x04\x73\x01\x74\x01\x75\x01\xb3\x04\xb4\x04\xae\x01\x4e\xfd\xc5\x03\xc5\x03\xcb\x01\x91\x02\xcc\x01\x81\x04\x2e\x02\xce\x01\xcf\x01\xd0\x01\xc6\x04\x6b\x04\x27\x02\x82\x00\x6c\x04\xc6\x03\xc6\x03\xd1\x01\xef\x03\x2b\x00\x7c\x01\xd2\x01\x82\x04\xd3\x01\xd4\x01\xd5\x01\xfb\x02\x24\x03\xe6\x04\xb5\x04\x44\x03\x71\x04\xe7\x04\xf7\x04\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2a\x00\x2b\x00\x2c\x00\x68\x04\x2b\x00\x7c\x01\x57\x03\x87\x03\x7d\x01\xa5\x00\xad\x00\x59\x03\xfe\x01\xa5\x00\x5c\x03\x33\x02\x72\x04\xff\x01\x46\x04\xc7\x02\x2a\x00\x2b\x00\x2c\x00\x35\x02\x2e\x00\x2f\x00\xed\x02\xe8\x04\xa5\x00\x06\x05\xe6\x04\x2a\x00\x2b\x00\x2c\x00\xe7\x04\x47\x04\x2f\x00\xa5\x00\x0d\x00\x0d\x00\x0d\x00\xc8\x02\x0d\x00\x0d\x00\x0d\x00\x88\x03\x2b\x00\x7c\x01\x87\x03\x94\x00\x7d\x01\xad\x00\x94\x00\xa6\x01\x91\x02\x01\x03\x0f\x00\x13\x00\x11\x00\x80\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\xd6\x01\x2e\x00\x2f\x00\x2b\x00\x39\x04\xe8\x04\x2b\x00\x7c\x01\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x73\x03\xfa\x04\x1d\x00\x1e\x00\x1f\x00\xf1\x04\x91\x02\x20\x00\x21\x00\x22\x00\x88\x03\x98\x04\x07\x04\xcb\x01\x13\x03\xcc\x01\x23\x00\x74\x03\xce\x01\xcf\x01\xd0\x01\x15\x03\x2b\x00\x7c\x01\x16\x03\x9d\x03\x17\x03\x53\x04\xd1\x01\x53\x04\xc4\x01\x54\x04\xd2\x01\x54\x04\xd3\x01\xd4\x01\xd5\x01\x18\x03\xe2\x03\x98\x04\x19\x03\xc9\x00\xb3\x02\x2b\x00\x7c\x01\x2b\x00\x7c\x01\x7d\x01\xae\x01\x7d\x01\x23\x03\x03\x03\x7f\x00\xc5\x01\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\xfc\x04\x29\x00\xf5\x04\xb6\x04\xb4\x04\x53\x04\x37\x04\x38\x04\x7f\x00\x54\x04\xb4\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfd\x04\x81\x00\x82\x00\x12\x05\x2b\x00\x7c\x01\xc5\x00\x30\x00\x7d\x01\x26\x02\xd9\x01\xda\x01\x99\x04\x9a\x04\xc4\x04\xdb\x01\xa7\x04\x82\x00\xbf\x03\xb5\x04\x44\x03\xc0\x03\xc1\x03\xca\x04\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x94\x04\x7f\x00\x95\x04\x96\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd6\x01\x08\x04\x2f\x00\xb6\x01\xcc\x04\x2e\x00\x2f\x00\xb7\x01\xd7\x01\x1a\x00\xd8\x01\x1c\x00\xb8\x01\xcc\x00\x1d\x00\x1e\x00\x1f\x00\x23\x04\x82\x00\x20\x00\x21\x00\x22\x00\x5d\x03\x8f\x02\x90\x02\xcb\x01\xc6\x00\xcc\x01\x23\x00\xcd\x01\xce\x01\xcf\x01\xd0\x01\xaf\x00\xb0\x00\xc7\x00\x24\x03\xc8\x00\xc9\x00\xca\x00\xd1\x01\x6d\x02\xcf\x00\x90\x04\xd2\x01\x6e\x02\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\xf9\x04\x44\x03\xd1\x00\x4b\x01\xd3\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xdf\x03\x24\x03\x8b\x01\x26\x00\xbf\x03\x01\x05\x27\x00\x28\x00\x6f\x04\x29\x00\x29\x01\x7a\x00\x24\x03\xec\x04\x2a\x00\x2b\x00\x2c\x00\xe0\x03\x8c\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\x7f\x00\x2b\x00\x7c\x01\x9e\x04\x30\x00\x2b\x00\x39\x04\xd9\x01\xda\x01\xb5\x04\x44\x03\x7d\x04\xdb\x01\x7f\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa2\x03\x97\x02\x91\x03\x81\x01\x18\x03\x27\x02\x82\x00\x92\x03\x7f\x00\xa8\x00\x82\x01\x80\x00\x2f\x00\xf7\x01\x43\x04\xf8\x01\xd6\x01\x7f\x00\x4e\x02\x82\x00\x80\x00\x2f\x00\x2d\x00\xa8\x04\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x2e\x00\x2f\x00\x1d\x00\x1e\x00\x1f\x00\x81\x00\x82\x00\x20\x00\x21\x00\x22\x00\x1e\x03\xcb\x01\x18\x04\xcc\x01\x81\x00\x82\x00\x23\x00\x1c\x03\xd0\x01\x94\x02\x95\x02\x96\x02\x97\x02\x30\x02\xc3\x04\x91\x02\xd1\x01\x1f\x03\x2b\x00\x7c\x01\xd2\x01\x65\x04\xd3\x01\xd4\x01\xd5\x01\xc4\x04\x92\x04\x93\x04\xd0\x04\x44\x03\x70\x02\x2b\x00\x7c\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x5d\x01\xf3\x02\xc9\x00\x7f\x00\xa2\x02\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\x7f\x00\x29\x00\x5e\x01\x97\x01\x2f\x00\x7f\x00\x2b\x00\xa3\x02\x80\x00\x2f\x00\x7d\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x36\x00\x81\x00\x82\x00\x2b\x00\x5d\x04\x03\x03\xa4\x02\x30\x00\x0e\x02\x82\x00\xd9\x01\xda\x01\x18\x02\x2a\x01\x82\x00\xdb\x01\xc3\x00\xa6\x02\x98\x02\x95\x02\x96\x02\x97\x02\x7a\x01\xfa\x01\x7f\x00\x86\x04\x7b\x01\x80\x00\x2f\x00\x19\x02\x50\x02\x97\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd6\x01\x2b\x00\x7c\x01\x88\x04\x1c\x02\x7d\x01\xcc\x00\xb3\x00\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x81\x00\x82\x00\x1d\x00\x1e\x00\x1f\x00\x78\x01\x93\x02\x20\x00\x21\x00\x22\x00\xcb\x01\xf7\x03\xcc\x01\x94\x04\x78\x01\x79\x01\x23\x00\xfb\x01\x55\x00\xe0\x02\x56\x00\x57\x00\x7a\x01\xcf\x00\x73\x03\xfc\x01\x7b\x01\x2e\x00\x2f\x00\xa0\x04\xc3\x00\xd3\x01\xd4\x01\xd5\x01\x00\x04\xd1\x00\x4b\x01\xd3\x00\x2b\x00\x7c\x01\xa9\x01\xbc\x01\x7d\x01\x2b\x00\x4a\x03\xbd\x01\xcb\x01\xcc\x00\xcc\x01\xcd\x00\xbe\x01\xc3\x00\x7f\x00\xf9\x03\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\x13\x03\x29\x00\xb2\x03\x2b\x00\x4a\x03\x43\x02\x44\x02\x1b\x04\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xcf\x00\x81\x00\x82\x00\x4d\x03\x4b\x03\x36\x00\x37\x00\x30\x00\xd1\x04\xd2\x04\xd9\x01\xda\x01\xd1\x00\x4b\x01\xd3\x00\xdb\x01\x2a\x00\x2b\x00\x2c\x00\xcc\x00\xb3\x00\x7a\x01\x45\x04\x05\x03\xae\x01\x7b\x01\x30\x02\xd7\x02\xa1\x04\xa2\x04\xa3\x04\x16\x02\xc3\x00\xa3\x03\x96\x02\x97\x02\xd6\x01\x2b\x00\x7c\x01\x01\x04\x7f\x00\x7d\x01\xac\x01\x80\x00\x2f\x00\x13\x05\x45\x02\x1b\x03\xcf\x00\x05\x04\x1d\x00\xdf\x04\x1f\x00\xde\x04\x7a\x01\x20\x00\x21\x00\x22\x00\x7b\x01\xdf\x04\xd1\x00\x4b\x01\xd3\x00\x7a\x01\x23\x00\x81\x00\x82\x00\x7b\x01\x36\x00\x37\x00\x2b\x00\x7c\x01\xd6\x01\xa6\x01\x7d\x01\xde\x02\xff\x02\x9b\x01\xd9\x02\x2b\x00\x7c\x01\xb1\x01\x45\x02\x7d\x01\x9c\x01\x45\x04\x1d\x00\xc3\x00\x1f\x00\x06\x04\xc3\x00\x20\x00\x21\x00\x22\x00\xcb\x01\x3c\x04\xcc\x01\x2a\x00\x2b\x00\x2c\x00\x23\x00\x0a\x04\x26\x00\x9a\x01\x9b\x01\x27\x00\x28\x00\x08\x03\x29\x00\x0c\x04\xf7\x01\x9c\x01\xf8\x01\xa0\x04\xae\x01\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\xd5\x03\xf6\x01\x0d\x04\xcb\x01\x30\x00\xcc\x01\xe0\x04\xd9\x01\xda\x01\x46\x02\x47\x02\x26\x00\xdb\x01\x20\x04\x27\x00\x48\x02\xf7\x01\x29\x00\xf8\x01\x36\x00\x37\x00\x43\x02\x44\x02\x25\x04\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x7a\x01\xdb\x04\xdc\x04\x0a\x04\x7b\x01\x36\x00\x37\x00\x30\x00\x9d\x00\xad\x00\xd9\x01\xda\x01\xc2\x00\x9e\x00\x9f\x00\xdb\x01\x2b\x00\x7c\x01\xae\x00\x1a\x02\x7d\x01\xc3\x00\x45\x04\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x4e\x03\xac\x01\xf6\x04\xa3\x04\x36\x00\x37\x00\xa6\x01\x1b\x02\xa7\x01\xd6\x01\x27\x04\xbb\x04\x33\x04\x2a\x00\x2b\x00\x2c\x00\x1c\x02\xb1\x00\x50\x03\x45\x02\xd5\x03\x43\x03\x2b\x04\x1d\x00\xae\x01\x1f\x00\xd6\x03\xaf\x01\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x2d\x04\x74\x00\x23\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\xd6\x01\x34\x04\x7d\x00\xcb\x01\x2f\x04\xcc\x01\xaf\x00\xb0\x00\xe1\x04\xe2\x04\x45\x02\x6f\x03\x58\x02\x48\x04\x1d\x00\x48\x03\x1f\x00\x4d\x04\x49\x03\x20\x00\x21\x00\x22\x00\x90\x03\x4a\x04\xd3\x01\xd4\x01\xd5\x01\xce\x04\x23\x00\xd0\x04\x26\x00\x2b\x00\xe1\x03\x27\x00\x28\x00\xe2\x03\x29\x00\x9b\x03\xf2\x02\x36\x00\x37\x00\xf3\x02\xc9\x00\xb3\x00\x9a\x03\xb4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x6d\x04\x6e\x04\x51\x02\x15\x03\xb5\x00\x1c\x02\x16\x03\x30\x00\x02\x04\xa4\x03\xd9\x01\xda\x01\xb6\x00\x9e\x03\x26\x00\xdb\x01\xb7\x03\x27\x00\x28\x00\x18\x03\x29\x00\xb7\x00\x19\x03\xc9\x00\x2e\x01\xa5\x03\x30\x02\x2f\x01\xf9\x03\xb9\x03\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xba\x03\x2a\x00\x2b\x00\x2c\x00\xbe\x03\x2e\x00\x2f\x00\x30\x00\xc2\x03\xad\x00\xd9\x01\xda\x01\xbe\x04\xf6\x00\xf7\x00\xdb\x01\x38\x03\xd6\x01\xd2\x03\x59\x02\x2b\x00\x2c\x00\x77\x01\x2e\x00\x2f\x00\xc9\x03\x7e\x00\x45\x02\xce\x03\x76\x01\x9f\x00\x1d\x00\x8d\xfe\x1f\x00\x8d\xfe\xd3\x03\x20\x00\x21\x00\x22\x00\x7f\x00\xdd\x03\x2d\x00\x80\x00\x2f\x00\x5a\x02\x23\x00\xdb\x03\x73\x00\x39\x03\x3a\x03\xf3\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2b\x00\xb3\x03\xbb\x00\x7d\x00\x3b\x03\xbd\x00\xaa\x04\x81\x00\x82\x00\x53\x03\xc4\x04\xf6\x00\xf7\x00\xab\x04\xac\x04\xd6\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x75\x01\xfd\x02\x2a\x00\x2b\x00\x2c\x00\xf9\x02\x26\x00\x76\x01\x9f\x00\x27\x00\x28\x00\x57\x01\x29\x00\xc8\x00\xc9\x00\xca\x00\x0b\x03\x32\x04\x33\x04\x89\x04\x8a\x04\x8b\x04\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xd6\x03\xd7\x03\xd8\x03\x36\x04\x33\x04\x2b\x03\x29\x03\x30\x00\x2a\x03\x34\x03\xd9\x01\xda\x01\x73\x00\x35\x03\x74\x00\xdb\x01\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf3\x02\xc9\x00\x34\x04\x7d\x00\x73\x00\x70\x02\x74\x00\xea\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x1d\x04\xc9\x00\x34\x04\x7d\x00\x77\x04\xd8\x03\xad\x04\xae\x04\xaf\x04\xb0\x04\x40\x04\x56\x02\x57\x02\x58\x02\xc0\x04\x3c\x03\x96\x01\x2b\x00\x2c\x00\x45\x02\x97\x01\x2f\x00\xb3\x00\x1d\x00\xb4\x00\x1f\x00\xfb\x02\x2d\x02\x20\x00\x21\x00\x22\x00\x7e\x00\xf2\x02\xd4\x04\xd5\x04\x54\x03\xd6\x04\x23\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7f\x00\x80\x03\x2d\x00\x80\x00\x2f\x00\xaa\x04\xfb\x01\x55\x00\x4f\x04\x56\x00\x57\x00\x3a\x02\xab\x04\xac\x04\xfc\x01\xea\x03\xeb\x03\xb8\x01\x2b\x00\x2c\x00\x7f\x00\x97\x01\x2f\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xcb\x03\xcc\x03\xcd\x03\xce\x03\x26\x00\xf4\x03\xf5\x03\x27\x00\x28\x00\x3c\x02\x29\x00\xd8\x04\xd4\x01\xd5\x01\xe6\x03\xe7\x03\xe8\x03\x65\x02\x81\x00\x82\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xef\xfd\xad\x00\xef\xfd\x01\xfe\x7e\x00\x01\xfe\x3f\x02\x30\x00\x25\x03\x26\x03\x27\x03\x59\x02\x2b\x00\x2c\x00\x40\x02\x2e\x00\x2f\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x2d\x03\x2e\x03\x2f\x03\x30\x03\x31\x03\x32\x03\x33\x03\x34\x03\x03\xfe\x7f\x00\x03\xfe\x2d\x00\x80\x00\x2f\x00\x5a\x02\xfe\x04\xaf\x04\xb0\x04\xf4\x03\xf6\x03\x81\x00\x82\x00\x2a\x03\x26\x03\x27\x03\xfc\x02\x2d\x02\x45\x02\x38\x02\xf6\x00\xf7\x00\x1d\x00\x63\x02\x1f\x00\x81\x00\x82\x00\x20\x00\x21\x00\x22\x00\x6b\x02\x7e\x00\x9d\x04\x44\x03\x49\x03\xb0\x00\x23\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xaa\x02\x7f\x00\xd9\x04\x2d\x00\x80\x00\x2f\x00\x1d\x00\x9c\x02\x1f\x00\x73\x04\x44\x03\x20\x00\x21\x00\x22\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x6c\x03\x6d\x03\x56\x02\x57\x02\x58\x02\x81\x00\x82\x00\xa7\x00\xa8\x00\xa9\x00\x26\x00\xc6\x00\x9e\x02\x27\x00\x28\x00\x04\xfe\x29\x00\x04\xfe\xaf\x00\xb0\x00\xc7\x00\xa0\x02\xc8\x00\xc9\x00\xca\x00\xa1\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaa\x00\xa8\x00\xa9\x00\xbc\x02\x0b\xfe\x26\x00\x0b\xfe\x30\x00\x27\x00\x28\x00\xbd\x02\x29\x00\xf5\x00\xf6\x00\xf7\x00\x51\x02\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xac\x02\xad\x02\xae\x02\x43\x03\x44\x03\xa8\x00\x67\x03\x30\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x73\x00\x0c\xfe\x74\x00\x0c\xfe\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\xe7\x02\xc3\x00\x7d\x00\xc4\x00\xbd\x00\xad\x00\xaf\x00\xb0\x00\x57\x01\x85\x01\xc8\x00\xc9\x00\xca\x00\xed\x02\xf2\x01\x59\x02\x2b\x00\x2c\x00\x88\x01\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x7f\x00\x76\x03\x77\x03\x80\x00\x2f\x00\x0d\xfe\x73\x00\x0d\xfe\x74\x00\xf0\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xc0\x00\x5a\x02\xbb\x00\x7d\x00\x7f\x00\x24\x02\xf4\x01\x80\x00\x2f\x00\x81\x00\x82\x00\x8f\x01\x73\x01\x74\x01\x75\x01\x0e\xfe\x0f\xfe\x0e\xfe\x0f\xfe\x10\xfe\x11\xfe\x10\xfe\x11\xfe\x12\xfe\x13\xfe\x12\xfe\x13\xfe\xc5\x00\x00\x02\x81\x00\x82\x00\x73\x00\x15\xfe\x74\x00\x15\xfe\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x79\x03\x7a\x03\xc3\x00\x7d\x00\xc4\x00\xbd\x00\x14\xfe\x16\xfe\x14\xfe\x16\xfe\x17\xfe\x18\xfe\x17\xfe\x18\xfe\x1f\xfe\x2b\x02\x1f\xfe\x7f\x00\x7d\x03\x7e\x03\x80\x00\x2f\x00\x20\xfe\x73\x00\x20\xfe\x74\x00\x36\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x6b\x01\x7e\x00\xbb\x00\x7d\x00\x7f\x00\x83\x04\xf3\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xad\x01\x78\x04\xae\x01\x7f\x00\xac\x00\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\xc7\x00\x31\x01\xc8\x00\xc9\x00\xca\x00\x84\x04\x4a\x02\x4b\x02\x81\x00\x82\x00\xa8\x00\x4c\x02\x6d\x01\xc5\x00\x8c\x02\xf7\x00\x99\x02\x9a\x02\x81\x00\x82\x00\x7e\x00\xa6\x02\xba\x02\xbb\x02\x6e\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\x15\x00\x7f\x00\x16\x05\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\x73\x00\x11\x05\xba\x00\xdf\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa8\x00\xe9\x02\xbb\x00\x7d\x00\xbc\x00\xbd\x00\xa8\x00\xea\x02\x81\x00\x82\x00\xdd\x03\x7e\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\xeb\x02\x71\x01\xa8\x00\xee\x02\x37\x02\x9f\x00\xc6\x00\xdf\x03\x7f\x00\x09\x05\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\xc7\x00\x0d\x05\xc8\x00\xc9\x00\xca\x00\xa8\x00\x83\x01\xa8\x00\x84\x01\x66\x01\xcf\x00\xee\x04\xb7\x00\x7e\x00\x70\x01\x71\x01\x8a\x01\x8b\x01\x81\x00\x82\x00\x83\x03\x84\x03\xd1\x00\x4b\x01\xd3\x00\xf0\x04\x7f\x00\xf1\x04\x2d\x00\x80\x00\x2f\x00\x73\x00\x30\x02\x74\x00\x1f\xff\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x03\x22\x03\xbb\x00\x7d\x00\x21\x03\xbf\x00\x34\x00\x35\x00\x62\x03\x63\x03\x81\x00\x82\x00\x21\x03\x22\x03\x8a\x01\x8b\x01\xfc\x04\x73\x00\x30\x02\x74\x00\x00\x05\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x03\x05\x16\x05\x7c\x00\x7d\x00\x21\x03\x22\x03\x32\x00\x3e\x02\x3f\x02\xc6\x04\x7f\x00\x8a\x01\x8b\x01\x80\x00\x2f\x00\xcc\x04\x7e\x00\x94\xfd\xc8\x04\xcf\x04\xc8\x03\xc9\x04\x8e\x04\xe1\x04\x90\x04\x1c\x02\x92\x04\xc9\x03\x36\x00\x7f\x00\x9d\x04\x2d\x00\x80\x00\x2f\x00\xbd\x04\x81\x00\x82\x00\x73\x00\xa0\x04\x74\x00\xc0\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xaa\x04\x13\x05\x7c\x00\x7d\x00\xc0\x04\xc2\x04\x5a\x04\x81\x00\x82\x00\x73\x00\x51\x04\x74\x00\x58\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x59\x04\x04\x05\x7c\x00\x7d\x00\x73\x00\x62\x04\x74\x00\x5c\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x61\x04\x07\x05\x7c\x00\x7d\x00\x5d\x04\x58\x00\x60\x04\x67\x04\x7e\x00\x6a\x04\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x63\x04\xda\x03\x7f\x00\x76\x04\x2d\x00\x80\x00\x2f\x00\x75\x04\x95\xfd\x7a\x04\xfb\x03\x6a\x00\xdf\x03\x73\x00\x30\x02\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x17\x00\x09\x05\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\x70\x00\x2d\x00\x80\x00\x2f\x00\x88\x04\x0b\x03\x70\x02\xd0\x03\x04\x04\x05\x04\x73\x00\xdd\x03\x74\x00\x0c\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xdf\x03\xf2\x04\x7c\x00\x7d\x00\x81\x00\x82\x00\xdf\x03\x17\x04\xa7\x00\x20\x04\x73\x00\x22\x04\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x04\xf4\x04\x7c\x00\x7d\x00\x27\x04\x2d\x04\x7f\x00\x2f\x04\x2d\x00\x80\x00\x2f\x00\x36\x04\x7e\x00\x32\x00\x3f\x04\x40\x04\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x43\x04\x4a\x04\x76\x03\x4c\x04\x4d\x04\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x8e\x03\x81\x00\x82\x00\x30\x02\xc9\x03\x8f\x03\x90\x03\x97\x03\x98\x03\x7f\x00\x99\x03\x2d\x00\x80\x00\x2f\x00\x66\x01\xcf\x00\x02\x02\xb7\x00\x67\x01\x9a\x03\x81\x00\x82\x00\xa2\x03\x9c\x02\xa7\x03\xa8\x03\xa9\x03\xd1\x00\x4b\x01\xd3\x00\x68\x01\x69\x01\x6a\x01\x6b\x01\x81\x00\x82\x00\xaa\x03\x73\x00\x7e\x00\x74\x00\xab\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x03\x00\x05\x7c\x00\x7d\x00\x7f\x00\xac\x03\x2d\x00\x80\x00\x2f\x00\xad\x03\xae\x03\xb9\x03\xed\xfe\xbc\x03\xbe\x03\x58\x00\x21\x03\xc4\x03\x7e\x00\xd0\x03\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x81\x00\x82\x00\x7f\x00\x2a\x03\x2d\x00\x80\x00\x2f\x00\xd0\x03\x73\x00\x7e\x00\x74\x00\x6a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xda\x03\xc9\x04\x7c\x00\x7d\x00\x7f\x00\xdd\x03\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xdf\x03\x70\x00\xe4\x03\xf7\x02\x03\x02\xf0\x03\x73\x00\xf8\x02\x63\x04\x36\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\x02\xad\x01\x81\x00\x82\x00\x73\x00\x07\x03\x74\x00\x0b\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x07\x03\xd3\x04\x7c\x00\x7d\x00\x73\x00\x0d\x03\x74\x00\xa7\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x12\x03\x17\x04\x7c\x00\x7d\x00\x1c\x03\x30\x02\x3e\x03\x37\x03\x3f\x03\x40\x03\x73\x00\x47\x03\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xb3\x00\x2a\x04\x7c\x00\x7d\x00\x9e\x02\x5a\x03\x7f\x00\x5b\x03\x2d\x00\x80\x00\x2f\x00\x5d\x03\x5f\x03\x60\x03\x61\x03\x65\x03\x64\x03\x73\x00\x6b\x03\x74\x00\x72\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xe8\xfe\xb6\x03\x7c\x00\x7d\x00\x81\x00\x82\x00\x30\x02\x73\x03\x7c\x03\x3f\x01\x73\x00\x7d\x03\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x80\x03\x1d\x03\x7c\x00\x7d\x00\x76\x03\x3c\x02\x7f\x00\x0f\x02\x2d\x00\x80\x00\x2f\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x73\x00\xa1\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x42\x02\x22\x03\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x40\x04\x56\x02\x57\x02\x58\x02\x41\x04\x43\x02\x5f\x02\x61\x02\x67\x02\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x68\x02\x6b\x02\x6d\x02\xc1\x01\x74\x02\x9c\x02\x81\x00\x82\x00\xa5\x01\x7f\x00\x9e\x02\x2d\x00\x80\x00\x2f\x00\xaf\x02\xb0\x02\x7e\x00\xb1\x02\xbf\x02\xd3\x02\x81\x00\x82\x00\xe3\x02\xe4\x02\xe5\x02\xe9\x02\x36\x00\xe6\x02\xe7\x02\x7f\x00\xf5\x02\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xf0\x02\xa3\x00\x91\x01\x62\xfd\x73\x00\x5f\xfd\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x8f\x01\x95\x01\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\xa4\x01\x2d\x00\x80\x00\x2f\x00\xa5\x01\xa6\x01\x7e\x00\x10\x02\xb4\x01\xb5\x01\xb4\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xad\x00\xbb\x01\x7f\x00\xae\x01\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xc1\x01\x59\x02\x2b\x00\x2c\x00\xc6\x01\x2e\x00\x2f\x00\x7e\x00\xc7\x01\xc8\x01\x7f\x00\xca\x01\xcb\x01\x80\x00\x2f\x00\xf4\x01\xf6\x01\xbf\x00\x81\x00\x82\x00\x7f\x00\xfd\x01\x2d\x00\x80\x00\x2f\x00\x73\x00\x5a\x02\x74\x00\x02\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x81\x00\x82\x00\xbb\x00\x7d\x00\x03\x02\x22\x02\x05\x02\x0a\x02\x0c\x02\x5c\xfd\x81\x00\x82\x00\x0b\x02\x13\x02\x14\x02\x15\x02\x17\x02\x73\x00\x1d\x02\x74\x00\x1e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x02\x32\x01\x7c\x00\x7d\x00\x73\x00\x1f\x02\x74\x00\x22\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x31\x02\x7b\x00\x7c\x00\x7d\x00\x11\x02\xa3\x00\x7e\x00\x2b\x02\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x03\x02\x96\x00\xff\xff\xa7\x00\xd4\x00\x7f\x00\xe3\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\xff\xff\x74\x00\xac\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xe4\x00\xda\x04\x7d\x00\xe5\x00\xe8\x00\xa7\x00\xe8\x00\xff\xff\x7f\x00\x81\x00\x82\x00\x80\x00\x2f\x00\x5f\x01\x60\x01\xbf\xfd\x73\x00\x6d\x01\xae\x03\xff\xff\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xa3\x00\xff\xff\xaf\x03\xff\xff\x17\x00\x96\x00\x81\x00\x82\x00\x00\x00\x73\x00\x00\x00\xae\x03\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa3\x00\x70\x01\xa3\x00\xaf\x03\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xbc\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x00\x00\xb7\x00\xb8\x02\x8c\xfe\x7f\x00\x8c\xfe\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x00\x00\x81\x00\x82\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x37\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\xba\x04\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xb0\x03\x00\x00\x40\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x4f\x03\x7d\x00\x81\x00\x82\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x4d\x02\x7d\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x32\x00\x00\x00\x52\x02\x7d\x00\x36\x00\x37\x00\x00\x00\x00\x00\x73\x00\x7e\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x53\x02\x7d\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xb1\x02\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x7e\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xb8\x02\x7d\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x7e\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x7e\x00\x00\x00\x73\x00\x6a\x00\x45\x03\x00\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x7e\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x7e\x00\x81\x00\x82\x00\xd6\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd7\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x7f\x00\xb7\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x73\x00\x7e\x00\x30\x04\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\x31\x04\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x0d\x02\x7d\x00\xd5\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xd4\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\xb8\x00\x00\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x0e\x04\x0f\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x10\x04\xd8\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x04\x12\x04\x00\x00\x00\x00\x00\x00\x7e\x00\x0e\x04\x7a\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\xda\x00\xdb\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x7e\x00\x0c\x02\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x12\x04\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x81\x00\x82\x00\x00\x00\x7f\x00\x00\x00\xb5\x02\x80\x00\x2f\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x03\x55\x02\x56\x02\x57\x02\x58\x02\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x13\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x14\x04\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x61\x01\x00\x00\x00\x00\x62\x01\x00\x00\x78\x03\x00\x00\xd9\x00\x00\x00\x00\x00\x13\x04\x00\x00\x81\x00\x82\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x7f\x00\x00\x00\x00\x00\x14\x04\x2f\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x7f\x00\x2e\x00\x2f\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5a\x02\x00\x00\x00\x00\x81\x00\x82\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x17\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x17\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xa5\x04\xa6\x04\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xa5\x04\xa6\x04\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\xb5\x02\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x61\x01\x68\x00\x69\x00\x62\x01\x6a\x00\xc8\x01\x00\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xb2\x04\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x61\x01\x68\x00\x69\x00\x62\x01\x6a\x00\x78\x03\x00\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\xb2\x04\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\xda\x03\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\xf2\x01\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\xce\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\xc3\x00\x8a\x00\x00\x00\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\xd1\x00\xd2\x00\xd3\x00\x00\x00\x6b\x03\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x8c\x00\x8d\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x92\x00\x00\x00\x6a\x00\x36\x00\x37\x00\x00\x00\xdd\x00\xb3\x00\x00\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x70\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xde\x00\x93\x00\x00\x00\xb7\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\xdf\x00\x00\x00\xe0\x00\xe1\x00\xe2\x00\x8b\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x54\x02\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\xdd\x00\xb3\x00\x6a\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xde\x00\x61\x01\x00\x00\xb7\x00\x62\x01\x00\x00\xc8\x01\x93\x00\xd9\x00\xdf\x00\x00\x00\x20\x02\x00\x00\xe2\x00\x8b\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x5a\x02\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\xb3\x00\x6a\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x26\x02\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x93\x00\x95\x03\x56\x02\x57\x02\x58\x02\x00\x00\x61\x01\x8b\x00\x00\x00\x62\x01\x00\x00\x63\x01\x00\x00\xd9\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x64\x01\x8e\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\xc3\x00\x8a\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x8b\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\xf4\x04\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x8e\x00\xb7\x00\xf9\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x16\xff\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x7d\x04\xe1\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x86\x04\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x8e\x00\xb7\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xc3\x00\x00\x00\x00\x00\xcf\x00\x8e\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\xba\x02\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x24\x02\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\xbf\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\xd8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xb2\x03\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xb2\x03\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9d\x03\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x23\x00\x00\x00\x6a\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x70\x00\xaa\x02\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x93\x00\x00\x00\x8a\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x16\xff\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x02\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x04\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x6a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\xdb\x02\x70\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x93\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xe2\x02\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xab\x01\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\xb3\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x52\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xc3\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x5b\x01\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xc3\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x5c\x01\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x4f\x01\x45\x00\x00\x00\x00\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x08\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xcf\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xcf\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x0a\x03\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\xf1\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x32\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x25\x04\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x8a\x03\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x03\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x8c\x03\x00\x00\x00\x00\x70\x00\x00\x00\x8d\x03\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x03\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x03\x00\x00\x00\x00\x70\x00\x00\x00\x8d\x03\x00\x00\x8a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x70\x00\x00\x00\xeb\x04\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x70\x00\x00\x00\xeb\x04\x79\x02\x33\x00\x34\x00\x35\x00\x7a\x02\x37\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x7b\x02\x7c\x02\x7d\x02\x7e\x02\x7f\x02\x80\x02\x81\x02\x82\x02\x83\x02\x84\x02\x85\x02\x86\x02\x87\x02\x88\x02\x0b\x01\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x89\x02\x8a\x02\x15\x01\x8b\x02\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x8c\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x01\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x3f\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\xf9\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\xfb\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x29\x01\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x6f\x03\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x5d\x02\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x70\x00\x00\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x70\x00\x5d\x02\x00\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x33\x00\x70\x00\x00\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x70\x00\x5d\x02\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x0f\x05\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x10\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x56\x04\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x57\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\xe3\xfe\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x70\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x70\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\x00\x00\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\xe3\xfe\x36\x00\x37\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x31\x01\xe3\xfe\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x9f\x01\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x81\x01\x00\x00\x00\x00\x70\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x3c\x01\x3d\x01\xe9\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\xa0\x01\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x70\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x70\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9e\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x7f\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x70\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x1a\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x32\x00\x00\x00\x00\x00\x70\x00\x36\x00\x37\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x00\x00\x2d\x01\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x2e\x01\x70\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x1a\x04\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x6a\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x70\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x93\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x29\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x65\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x3b\x04\x1a\x00\x34\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x32\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x23\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x2a\x02\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x26\x00\x00\x00\x70\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x30\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x6a\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xc9\x02\xca\x02\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x02\xca\x02\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x03\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x03\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x03\xc1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\xc1\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xc2\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x30\x00\x00\x00\x00\x00\x69\x03\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\xc0\x02\xc1\x02\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x24\x00\x00\x00\x20\x00\x21\x00\x22\x00\x05\x02\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x02\x30\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x03\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xc2\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xed\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x30\x00\xef\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbd\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x76\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfb\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xfc\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfd\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xff\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x3d\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x93\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xd1\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xe5\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x08\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xa0\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xb7\x00\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x35\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x36\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x99\x00\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x52\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x53\x01\x54\x01\x00\x00\x00\x00\x00\x00\x55\x01\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x41\x01\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x42\x01\x00\x00\x45\x01\x56\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x57\x01\x46\x01\xc8\x00\x58\x01\x59\x01\x30\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x4b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x01\x4d\x01\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x4f\x01\x50\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\xd0\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd6\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\xb1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0e\x03\x23\x00\x00\x00\x00\x00\x0f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\xfe\x03\x29\x00\x00\x00\x00\x00\x0f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\xb4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\xb5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x71\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x00\x00\x23\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\xdb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xdc\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x02\x23\x00\x37\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x03\x05\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x5a\x04\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xf0\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xf2\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x68\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x61\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x62\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x68\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x69\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xc4\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xc5\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xcf\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xd4\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x91\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x92\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x93\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x94\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\xf2\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xf4\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xb9\x01\x1a\x00\x34\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x98\x01\x29\x00\x30\x00\x99\x01\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x33\x01\x1a\x00\x34\x01\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x99\x01\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x3a\x01\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x01\xe9\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x00\xe9\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x74\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x23\x00\x00\x00\x00\x00\x75\x02\xf6\x00\xf7\x00\x00\x00\x76\x02\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x75\x02\xf6\x00\xf7\x00\x00\x00\x76\x02\x77\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x02\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x01\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x01\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (11, 726) [- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249),- (250 , happyReduce_250),- (251 , happyReduce_251),- (252 , happyReduce_252),- (253 , happyReduce_253),- (254 , happyReduce_254),- (255 , happyReduce_255),- (256 , happyReduce_256),- (257 , happyReduce_257),- (258 , happyReduce_258),- (259 , happyReduce_259),- (260 , happyReduce_260),- (261 , happyReduce_261),- (262 , happyReduce_262),- (263 , happyReduce_263),- (264 , happyReduce_264),- (265 , happyReduce_265),- (266 , happyReduce_266),- (267 , happyReduce_267),- (268 , happyReduce_268),- (269 , happyReduce_269),- (270 , happyReduce_270),- (271 , happyReduce_271),- (272 , happyReduce_272),- (273 , happyReduce_273),- (274 , happyReduce_274),- (275 , happyReduce_275),- (276 , happyReduce_276),- (277 , happyReduce_277),- (278 , happyReduce_278),- (279 , happyReduce_279),- (280 , happyReduce_280),- (281 , happyReduce_281),- (282 , happyReduce_282),- (283 , happyReduce_283),- (284 , happyReduce_284),- (285 , happyReduce_285),- (286 , happyReduce_286),- (287 , happyReduce_287),- (288 , happyReduce_288),- (289 , happyReduce_289),- (290 , happyReduce_290),- (291 , happyReduce_291),- (292 , happyReduce_292),- (293 , happyReduce_293),- (294 , happyReduce_294),- (295 , happyReduce_295),- (296 , happyReduce_296),- (297 , happyReduce_297),- (298 , happyReduce_298),- (299 , happyReduce_299),- (300 , happyReduce_300),- (301 , happyReduce_301),- (302 , happyReduce_302),- (303 , happyReduce_303),- (304 , happyReduce_304),- (305 , happyReduce_305),- (306 , happyReduce_306),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451),- (452 , happyReduce_452),- (453 , happyReduce_453),- (454 , happyReduce_454),- (455 , happyReduce_455),- (456 , happyReduce_456),- (457 , happyReduce_457),- (458 , happyReduce_458),- (459 , happyReduce_459),- (460 , happyReduce_460),- (461 , happyReduce_461),- (462 , happyReduce_462),- (463 , happyReduce_463),- (464 , happyReduce_464),- (465 , happyReduce_465),- (466 , happyReduce_466),- (467 , happyReduce_467),- (468 , happyReduce_468),- (469 , happyReduce_469),- (470 , happyReduce_470),- (471 , happyReduce_471),- (472 , happyReduce_472),- (473 , happyReduce_473),- (474 , happyReduce_474),- (475 , happyReduce_475),- (476 , happyReduce_476),- (477 , happyReduce_477),- (478 , happyReduce_478),- (479 , happyReduce_479),- (480 , happyReduce_480),- (481 , happyReduce_481),- (482 , happyReduce_482),- (483 , happyReduce_483),- (484 , happyReduce_484),- (485 , happyReduce_485),- (486 , happyReduce_486),- (487 , happyReduce_487),- (488 , happyReduce_488),- (489 , happyReduce_489),- (490 , happyReduce_490),- (491 , happyReduce_491),- (492 , happyReduce_492),- (493 , happyReduce_493),- (494 , happyReduce_494),- (495 , happyReduce_495),- (496 , happyReduce_496),- (497 , happyReduce_497),- (498 , happyReduce_498),- (499 , happyReduce_499),- (500 , happyReduce_500),- (501 , happyReduce_501),- (502 , happyReduce_502),- (503 , happyReduce_503),- (504 , happyReduce_504),- (505 , happyReduce_505),- (506 , happyReduce_506),- (507 , happyReduce_507),- (508 , happyReduce_508),- (509 , happyReduce_509),- (510 , happyReduce_510),- (511 , happyReduce_511),- (512 , happyReduce_512),- (513 , happyReduce_513),- (514 , happyReduce_514),- (515 , happyReduce_515),- (516 , happyReduce_516),- (517 , happyReduce_517),- (518 , happyReduce_518),- (519 , happyReduce_519),- (520 , happyReduce_520),- (521 , happyReduce_521),- (522 , happyReduce_522),- (523 , happyReduce_523),- (524 , happyReduce_524),- (525 , happyReduce_525),- (526 , happyReduce_526),- (527 , happyReduce_527),- (528 , happyReduce_528),- (529 , happyReduce_529),- (530 , happyReduce_530),- (531 , happyReduce_531),- (532 , happyReduce_532),- (533 , happyReduce_533),- (534 , happyReduce_534),- (535 , happyReduce_535),- (536 , happyReduce_536),- (537 , happyReduce_537),- (538 , happyReduce_538),- (539 , happyReduce_539),- (540 , happyReduce_540),- (541 , happyReduce_541),- (542 , happyReduce_542),- (543 , happyReduce_543),- (544 , happyReduce_544),- (545 , happyReduce_545),- (546 , happyReduce_546),- (547 , happyReduce_547),- (548 , happyReduce_548),- (549 , happyReduce_549),- (550 , happyReduce_550),- (551 , happyReduce_551),- (552 , happyReduce_552),- (553 , happyReduce_553),- (554 , happyReduce_554),- (555 , happyReduce_555),- (556 , happyReduce_556),- (557 , happyReduce_557),- (558 , happyReduce_558),- (559 , happyReduce_559),- (560 , happyReduce_560),- (561 , happyReduce_561),- (562 , happyReduce_562),- (563 , happyReduce_563),- (564 , happyReduce_564),- (565 , happyReduce_565),- (566 , happyReduce_566),- (567 , happyReduce_567),- (568 , happyReduce_568),- (569 , happyReduce_569),- (570 , happyReduce_570),- (571 , happyReduce_571),- (572 , happyReduce_572),- (573 , happyReduce_573),- (574 , happyReduce_574),- (575 , happyReduce_575),- (576 , happyReduce_576),- (577 , happyReduce_577),- (578 , happyReduce_578),- (579 , happyReduce_579),- (580 , happyReduce_580),- (581 , happyReduce_581),- (582 , happyReduce_582),- (583 , happyReduce_583),- (584 , happyReduce_584),- (585 , happyReduce_585),- (586 , happyReduce_586),- (587 , happyReduce_587),- (588 , happyReduce_588),- (589 , happyReduce_589),- (590 , happyReduce_590),- (591 , happyReduce_591),- (592 , happyReduce_592),- (593 , happyReduce_593),- (594 , happyReduce_594),- (595 , happyReduce_595),- (596 , happyReduce_596),- (597 , happyReduce_597),- (598 , happyReduce_598),- (599 , happyReduce_599),- (600 , happyReduce_600),- (601 , happyReduce_601),- (602 , happyReduce_602),- (603 , happyReduce_603),- (604 , happyReduce_604),- (605 , happyReduce_605),- (606 , happyReduce_606),- (607 , happyReduce_607),- (608 , happyReduce_608),- (609 , happyReduce_609),- (610 , happyReduce_610),- (611 , happyReduce_611),- (612 , happyReduce_612),- (613 , happyReduce_613),- (614 , happyReduce_614),- (615 , happyReduce_615),- (616 , happyReduce_616),- (617 , happyReduce_617),- (618 , happyReduce_618),- (619 , happyReduce_619),- (620 , happyReduce_620),- (621 , happyReduce_621),- (622 , happyReduce_622),- (623 , happyReduce_623),- (624 , happyReduce_624),- (625 , happyReduce_625),- (626 , happyReduce_626),- (627 , happyReduce_627),- (628 , happyReduce_628),- (629 , happyReduce_629),- (630 , happyReduce_630),- (631 , happyReduce_631),- (632 , happyReduce_632),- (633 , happyReduce_633),- (634 , happyReduce_634),- (635 , happyReduce_635),- (636 , happyReduce_636),- (637 , happyReduce_637),- (638 , happyReduce_638),- (639 , happyReduce_639),- (640 , happyReduce_640),- (641 , happyReduce_641),- (642 , happyReduce_642),- (643 , happyReduce_643),- (644 , happyReduce_644),- (645 , happyReduce_645),- (646 , happyReduce_646),- (647 , happyReduce_647),- (648 , happyReduce_648),- (649 , happyReduce_649),- (650 , happyReduce_650),- (651 , happyReduce_651),- (652 , happyReduce_652),- (653 , happyReduce_653),- (654 , happyReduce_654),- (655 , happyReduce_655),- (656 , happyReduce_656),- (657 , happyReduce_657),- (658 , happyReduce_658),- (659 , happyReduce_659),- (660 , happyReduce_660),- (661 , happyReduce_661),- (662 , happyReduce_662),- (663 , happyReduce_663),- (664 , happyReduce_664),- (665 , happyReduce_665),- (666 , happyReduce_666),- (667 , happyReduce_667),- (668 , happyReduce_668),- (669 , happyReduce_669),- (670 , happyReduce_670),- (671 , happyReduce_671),- (672 , happyReduce_672),- (673 , happyReduce_673),- (674 , happyReduce_674),- (675 , happyReduce_675),- (676 , happyReduce_676),- (677 , happyReduce_677),- (678 , happyReduce_678),- (679 , happyReduce_679),- (680 , happyReduce_680),- (681 , happyReduce_681),- (682 , happyReduce_682),- (683 , happyReduce_683),- (684 , happyReduce_684),- (685 , happyReduce_685),- (686 , happyReduce_686),- (687 , happyReduce_687),- (688 , happyReduce_688),- (689 , happyReduce_689),- (690 , happyReduce_690),- (691 , happyReduce_691),- (692 , happyReduce_692),- (693 , happyReduce_693),- (694 , happyReduce_694),- (695 , happyReduce_695),- (696 , happyReduce_696),- (697 , happyReduce_697),- (698 , happyReduce_698),- (699 , happyReduce_699),- (700 , happyReduce_700),- (701 , happyReduce_701),- (702 , happyReduce_702),- (703 , happyReduce_703),- (704 , happyReduce_704),- (705 , happyReduce_705),- (706 , happyReduce_706),- (707 , happyReduce_707),- (708 , happyReduce_708),- (709 , happyReduce_709),- (710 , happyReduce_710),- (711 , happyReduce_711),- (712 , happyReduce_712),- (713 , happyReduce_713),- (714 , happyReduce_714),- (715 , happyReduce_715),- (716 , happyReduce_716),- (717 , happyReduce_717),- (718 , happyReduce_718),- (719 , happyReduce_719),- (720 , happyReduce_720),- (721 , happyReduce_721),- (722 , happyReduce_722),- (723 , happyReduce_723),- (724 , happyReduce_724),- (725 , happyReduce_725),- (726 , happyReduce_726)- ]--happy_n_terms = 148 :: Int-happy_n_nonterms = 253 :: Int--happyReduce_11 = happySpecReduce_2 0# happyReduction_11-happyReduction_11 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - happyIn14- (let (os,ss,l) = happy_var_1 in map (\x -> x os ss l) happy_var_2- )}}--happyReduce_12 = happySpecReduce_2 1# happyReduction_12-happyReduction_12 happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - happyIn15- (happy_var_1 : happy_var_2- )}}--happyReduce_13 = happySpecReduce_1 1# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn15- ([happy_var_1]- )}--happyReduce_14 = happyMonadReduce 2# 2# happyReduction_14-happyReduction_14 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut17 happy_x_2 of { happy_var_2 -> - ( checkPageModule happy_var_2 happy_var_1)}}- ) (\r -> happyReturn (happyIn16 r))--happyReduce_15 = happyMonadReduce 5# 2# happyReduction_15-happyReduction_15 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 XCodeTagOpen) -> - case happyOut22 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 XCodeTagClose) -> - case happyOut17 happy_x_5 of { happy_var_5 -> - ( let (os,ss,l) = happy_var_1 in checkHybridModule happy_var_5 (happy_var_3 os ss l) happy_var_2 happy_var_4)}}}}}- ) (\r -> happyReturn (happyIn16 r))--happyReduce_16 = happySpecReduce_2 2# happyReduction_16-happyReduction_16 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn16- (let (os,ss,l) = happy_var_1 in happy_var_2 os ss l- )}}--happyReduce_17 = happyMonadReduce 9# 3# happyReduction_17-happyReduction_17 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut182 happy_x_2 of { happy_var_2 -> - case happyOut185 happy_x_3 of { happy_var_3 -> - case happyOut187 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> - case happyOut180 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { (Loc happy_var_7 XCloseTagOpen) -> - case happyOut182 happy_x_8 of { happy_var_8 -> - case happyOutTok happy_x_9 of { (Loc happy_var_9 XStdTagClose) -> - ( do { n <- checkEqNames happy_var_2 happy_var_8;- let { cn = reverse happy_var_6;- as = reverse happy_var_3; };- return $ XTag (happy_var_1 <^^> happy_var_9 <** [happy_var_1,happy_var_5,happy_var_7,happy_var_9]) n as happy_var_4 cn })}}}}}}}}}- ) (\r -> happyReturn (happyIn17 r))--happyReduce_18 = happyReduce 5# 3# happyReduction_18-happyReduction_18 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut182 happy_x_2 of { happy_var_2 -> - case happyOut185 happy_x_3 of { happy_var_3 -> - case happyOut187 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> - happyIn17- (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_19 = happySpecReduce_3 4# happyReduction_19-happyReduction_19 happy_x_3- happy_x_2- happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut248 happy_x_3 of { happy_var_3 -> - happyIn18- (let (os,ss,ml) = happy_var_2 in (os,happy_var_1:ss++[happy_var_3],happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_20 = happySpecReduce_3 5# happyReduction_20-happyReduction_20 happy_x_3- happy_x_2- happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn19- (let (os,ss,ml) = happy_var_3;- ss' = reverse happy_var_2 ++ ss;- l' = case happy_var_2 of- [] -> ann happy_var_1- _ -> ann happy_var_1 <++> nIS (last happy_var_2);- in (happy_var_1 : os, ss', Just $ l' <+?> ml)- )}}}--happyReduce_21 = happySpecReduce_0 5# happyReduction_21-happyReduction_21 = happyIn19- (([],[],Nothing)- )--happyReduce_22 = happyReduce 4# 6# happyReduction_22-happyReduction_22 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LANGUAGE) -> - case happyOut21 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn20- (LanguagePragma (happy_var_1 <^^> happy_var_4 <** (happy_var_1:snd happy_var_2 ++ reverse happy_var_3 ++ [happy_var_4])) (fst happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_23 = happySpecReduce_3 6# happyReduction_23-happyReduction_23 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn20- (let Loc l (OPTIONS (mc, s)) = happy_var_1- in OptionsPragma (l <^^> happy_var_3 <** (l:reverse happy_var_2 ++ [happy_var_3])) (readTool mc) s- )}}}--happyReduce_24 = happySpecReduce_3 6# happyReduction_24-happyReduction_24 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> - case happyOut94 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn20- (AnnModulePragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_25 = happySpecReduce_3 7# happyReduction_25-happyReduction_25 happy_x_3- happy_x_2- happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut238 happy_x_3 of { happy_var_3 -> - happyIn21- ((fst happy_var_1 ++ [happy_var_3], snd happy_var_1 ++ [happy_var_2])- )}}}--happyReduce_26 = happySpecReduce_2 7# happyReduction_26-happyReduction_26 happy_x_2- happy_x_1- = case happyOut238 happy_x_2 of { happy_var_2 -> - happyIn21- (([happy_var_2],[])- )}--happyReduce_27 = happySpecReduce_2 8# happyReduction_27-happyReduction_27 happy_x_2- happy_x_1- = case happyOut23 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn22- (let (is,ds,ss1,inf) = happy_var_2- in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) happy_var_1 os is ds- )}}--happyReduce_28 = happyReduce 5# 9# happyReduction_28-happyReduction_28 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut256 happy_x_2 of { happy_var_2 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - case happyOut29 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Where) -> - happyIn23- (Just $ ModuleHead (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 happy_var_3 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_29 = happySpecReduce_0 9# happyReduction_29-happyReduction_29 = happyIn23- (Nothing- )--happyReduce_30 = happySpecReduce_3 10# happyReduction_30-happyReduction_30 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn24- (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ DeprText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s- )}}}--happyReduce_31 = happySpecReduce_3 10# happyReduction_31-happyReduction_31 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn24- (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ WarnText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s- )}}}--happyReduce_32 = happySpecReduce_0 10# happyReduction_32-happyReduction_32 = happyIn24- (Nothing- )--happyReduce_33 = happySpecReduce_3 11# happyReduction_33-happyReduction_33 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn25- (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_34 = happyReduce 4# 11# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOut248 happy_x_3 of { happy_var_3 -> - happyIn25- (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_35 = happyReduce 4# 12# happyReduction_35-happyReduction_35 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_2 of { happy_var_2 -> - case happyOut27 happy_x_3 of { happy_var_3 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - happyIn26- ((reverse (fst happy_var_2), fst happy_var_4, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3 ++ snd happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_36 = happySpecReduce_2 12# happyReduction_36-happyReduction_36 happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_2 of { happy_var_2 -> - happyIn26- (([], fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2)- )}}--happyReduce_37 = happySpecReduce_3 12# happyReduction_37-happyReduction_37 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn26- ((reverse (fst happy_var_2), [], reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_38 = happySpecReduce_1 12# happyReduction_38-happyReduction_38 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn26- (([], [], reverse happy_var_1)- )}--happyReduce_39 = happySpecReduce_2 13# happyReduction_39-happyReduction_39 happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - happyIn27- (happy_var_2 : happy_var_1- )}}--happyReduce_40 = happySpecReduce_1 14# happyReduction_40-happyReduction_40 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn28- (happy_var_1- )}--happyReduce_41 = happySpecReduce_0 14# happyReduction_41-happyReduction_41 = happyIn28- ([]- )--happyReduce_42 = happySpecReduce_1 15# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn29- (Just happy_var_1- )}--happyReduce_43 = happySpecReduce_0 15# happyReduction_43-happyReduction_43 = happyIn29- (Nothing- )--happyReduce_44 = happyReduce 4# 16# happyReduction_44-happyReduction_44 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut32 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn30- (ExportSpecList (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse (snd happy_var_2) ++ happy_var_3 ++ [happy_var_4])) (reverse (fst happy_var_2))- ) `HappyStk` happyRest}}}}--happyReduce_45 = happySpecReduce_3 16# happyReduction_45-happyReduction_45 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn30- (ExportSpecList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:happy_var_2++[happy_var_3])) []- )}}}--happyReduce_46 = happySpecReduce_1 17# happyReduction_46-happyReduction_46 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> - happyIn31- ([happy_var_1]- )}--happyReduce_47 = happySpecReduce_0 17# happyReduction_47-happyReduction_47 = happyIn31- ([ ]- )--happyReduce_48 = happySpecReduce_3 18# happyReduction_48-happyReduction_48 happy_x_3- happy_x_2- happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn32- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_49 = happySpecReduce_1 18# happyReduction_49-happyReduction_49 happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn32- (([happy_var_1],[])- )}--happyReduce_50 = happySpecReduce_1 19# happyReduction_50-happyReduction_50 happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - happyIn33- (EVar (ann happy_var_1) happy_var_1- )}--happyReduce_51 = happyMonadReduce 2# 19# happyReduction_51-happyReduction_51 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut34 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled ExplicitNamespaces;- return (EAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (TypeNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}}- ) (\r -> happyReturn (happyIn33 r))--happyReduce_52 = happySpecReduce_1 19# happyReduction_52-happyReduction_52 happy_x_1- = case happyOut258 happy_x_1 of { happy_var_1 -> - happyIn33- (EAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1- )}--happyReduce_53 = happyReduce 4# 19# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut258 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn33- (EThingAll (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1- ) `HappyStk` happyRest}}}}--happyReduce_54 = happySpecReduce_3 19# happyReduction_54-happyReduction_54 happy_x_3- happy_x_2- happy_x_1- = case happyOut258 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn33- (EThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) happy_var_1 []- )}}}--happyReduce_55 = happyReduce 4# 19# happyReduction_55-happyReduction_55 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut258 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn33- (EThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}--happyReduce_56 = happySpecReduce_2 19# happyReduction_56-happyReduction_56 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut256 happy_x_2 of { happy_var_2 -> - happyIn33- (EModuleContents (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_57 = happyMonadReduce 2# 19# happyReduction_57-happyReduction_57 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut223 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled PatternSynonyms;- return $ EAbs (nIS happy_var_1 <++> (ann happy_var_2) <** [happy_var_1])- (PatternNamespace (nIS happy_var_1)) happy_var_2 })}}- ) (\r -> happyReturn (happyIn33 r))--happyReduce_58 = happySpecReduce_1 20# happyReduction_58-happyReduction_58 happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - happyIn34- (happy_var_1- )}--happyReduce_59 = happySpecReduce_1 20# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut237 happy_x_1 of { happy_var_1 -> - happyIn34- (happy_var_1- )}--happyReduce_60 = happySpecReduce_3 21# happyReduction_60-happyReduction_60 happy_x_3- happy_x_2- happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - happyIn35- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_61 = happySpecReduce_1 21# happyReduction_61-happyReduction_61 happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn35- (([happy_var_1],[])- )}--happyReduce_62 = happyReduce 8# 22# happyReduction_62-happyReduction_62 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> - case happyOut37 happy_x_2 of { happy_var_2 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - case happyOut39 happy_x_4 of { happy_var_4 -> - case happyOut40 happy_x_5 of { happy_var_5 -> - case happyOut256 happy_x_6 of { happy_var_6 -> - case happyOut41 happy_x_7 of { happy_var_7 -> - case happyOut42 happy_x_8 of { happy_var_8 -> - happyIn36- (let { (mmn,ss,ml) = happy_var_7 ;- l = nIS happy_var_1 <++> ann happy_var_6 <+?> ml <+?> (fmap ann) happy_var_8 <** (happy_var_1:snd happy_var_2 ++ snd happy_var_3 ++ snd happy_var_4 ++ snd happy_var_5 ++ ss)}- in ImportDecl l happy_var_6 (fst happy_var_4) (fst happy_var_2) (fst happy_var_3) (fst happy_var_5) mmn happy_var_8- ) `HappyStk` happyRest}}}}}}}}--happyReduce_63 = happySpecReduce_2 23# happyReduction_63-happyReduction_63 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SOURCE) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - happyIn37- ((True,[happy_var_1,happy_var_2])- )}}--happyReduce_64 = happySpecReduce_0 23# happyReduction_64-happyReduction_64 = happyIn37- ((False,[])- )--happyReduce_65 = happyMonadReduce 1# 24# happyReduction_65-happyReduction_65 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - ( do { checkEnabledOneOf [Safe, SafeImports, Trustworthy] ;- return (True, [happy_var_1]) })}- ) (\r -> happyReturn (happyIn38 r))--happyReduce_66 = happySpecReduce_0 24# happyReduction_66-happyReduction_66 = happyIn38- ((False, [])- )--happyReduce_67 = happySpecReduce_1 25# happyReduction_67-happyReduction_67 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn39- ((True,[happy_var_1])- )}--happyReduce_68 = happySpecReduce_0 25# happyReduction_68-happyReduction_68 = happyIn39- ((False, [])- )--happyReduce_69 = happyMonadReduce 1# 26# happyReduction_69-happyReduction_69 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( do { checkEnabled PackageImports ;- let { Loc l (StringTok (s,_)) = happy_var_1 } ;- return $ (Just s,[l]) })}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_70 = happySpecReduce_0 26# happyReduction_70-happyReduction_70 = happyIn40- ((Nothing,[])- )--happyReduce_71 = happySpecReduce_2 27# happyReduction_71-happyReduction_71 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - case happyOut256 happy_x_2 of { happy_var_2 -> - happyIn41- ((Just happy_var_2,[happy_var_1],Just (nIS happy_var_1 <++> ann happy_var_2))- )}}--happyReduce_72 = happySpecReduce_0 27# happyReduction_72-happyReduction_72 = happyIn41- ((Nothing,[],Nothing)- )--happyReduce_73 = happySpecReduce_1 28# happyReduction_73-happyReduction_73 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn42- (Just happy_var_1- )}--happyReduce_74 = happySpecReduce_0 28# happyReduction_74-happyReduction_74 = happyIn42- (Nothing- )--happyReduce_75 = happyReduce 5# 29# happyReduction_75-happyReduction_75 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut44 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut45 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn43- (let {(b,ml,s) = happy_var_1 ;- l = (ml <?+> (happy_var_2 <^^> happy_var_5)) <** (s ++ happy_var_2:reverse (snd happy_var_3) ++ happy_var_4 ++ [happy_var_5])}- in ImportSpecList l b (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}}--happyReduce_76 = happyReduce 4# 29# happyReduction_76-happyReduction_76 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut44 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn43- (let {(b,ml,s) = happy_var_1 ; l = (ml <?+> (happy_var_2 <^^> happy_var_4)) <** (s ++ happy_var_2:happy_var_3 ++ [happy_var_4])}- in ImportSpecList l b []- ) `HappyStk` happyRest}}}}--happyReduce_77 = happySpecReduce_1 30# happyReduction_77-happyReduction_77 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn44- ((True,Just (nIS happy_var_1),[happy_var_1])- )}--happyReduce_78 = happySpecReduce_0 30# happyReduction_78-happyReduction_78 = happyIn44- ((False,Nothing,[])- )--happyReduce_79 = happySpecReduce_3 31# happyReduction_79-happyReduction_79 happy_x_3- happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut46 happy_x_3 of { happy_var_3 -> - happyIn45- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_80 = happySpecReduce_1 31# happyReduction_80-happyReduction_80 happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - happyIn45- (([happy_var_1],[])- )}--happyReduce_81 = happySpecReduce_1 32# happyReduction_81-happyReduction_81 happy_x_1- = case happyOut218 happy_x_1 of { happy_var_1 -> - happyIn46- (IVar (ann happy_var_1) happy_var_1- )}--happyReduce_82 = happyMonadReduce 2# 32# happyReduction_82-happyReduction_82 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut218 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled ExplicitNamespaces;- return (IAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (TypeNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}}- ) (\r -> happyReturn (happyIn46 r))--happyReduce_83 = happyMonadReduce 2# 32# happyReduction_83-happyReduction_83 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut222 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled PatternSynonyms;- return (IAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (PatternNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}}- ) (\r -> happyReturn (happyIn46 r))--happyReduce_84 = happySpecReduce_1 32# happyReduction_84-happyReduction_84 happy_x_1- = case happyOut257 happy_x_1 of { happy_var_1 -> - happyIn46- (IAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1- )}--happyReduce_85 = happyReduce 4# 32# happyReduction_85-happyReduction_85 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut257 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn46- (IThingAll (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1- ) `HappyStk` happyRest}}}}--happyReduce_86 = happySpecReduce_3 32# happyReduction_86-happyReduction_86 happy_x_3- happy_x_2- happy_x_1- = case happyOut257 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn46- (IThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) happy_var_1 []- )}}}--happyReduce_87 = happyReduce 4# 32# happyReduction_87-happyReduction_87 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut257 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn46- (IThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}--happyReduce_88 = happySpecReduce_3 33# happyReduction_88-happyReduction_88 happy_x_3- happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut48 happy_x_3 of { happy_var_3 -> - happyIn47- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_89 = happySpecReduce_1 33# happyReduction_89-happyReduction_89 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn47- (([happy_var_1],[])- )}--happyReduce_90 = happySpecReduce_1 34# happyReduction_90-happyReduction_90 happy_x_1- = case happyOut218 happy_x_1 of { happy_var_1 -> - happyIn48- (VarName (ann happy_var_1) happy_var_1- )}--happyReduce_91 = happySpecReduce_1 34# happyReduction_91-happyReduction_91 happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - happyIn48- (ConName (ann happy_var_1) happy_var_1- )}--happyReduce_92 = happySpecReduce_3 35# happyReduction_92-happyReduction_92 happy_x_3- happy_x_2- happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - happyIn49- (let (ops,ss,l) = happy_var_3- in InfixDecl (ann happy_var_1 <++> l <** (snd happy_var_2 ++ reverse ss)) happy_var_1 (fst happy_var_2) (reverse ops)- )}}}--happyReduce_93 = happySpecReduce_0 36# happyReduction_93-happyReduction_93 = happyIn50- ((Nothing, [])- )--happyReduce_94 = happyMonadReduce 1# 36# happyReduction_94-happyReduction_94 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( let Loc l (IntTok (i,_)) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_95 = happySpecReduce_1 37# happyReduction_95-happyReduction_95 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> - happyIn51- (AssocNone $ nIS happy_var_1- )}--happyReduce_96 = happySpecReduce_1 37# happyReduction_96-happyReduction_96 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> - happyIn51- (AssocLeft $ nIS happy_var_1- )}--happyReduce_97 = happySpecReduce_1 37# happyReduction_97-happyReduction_97 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> - happyIn51- (AssocRight $ nIS happy_var_1- )}--happyReduce_98 = happySpecReduce_3 38# happyReduction_98-happyReduction_98 happy_x_3- happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut229 happy_x_3 of { happy_var_3 -> - happyIn52- (let (ops,ss,l) = happy_var_1 in (happy_var_3 : ops, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_99 = happySpecReduce_1 38# happyReduction_99-happyReduction_99 happy_x_1- = case happyOut229 happy_x_1 of { happy_var_1 -> - happyIn52- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_100 = happyMonadReduce 2# 39# happyReduction_100-happyReduction_100 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - ( checkRevDecls (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1 ++ reverse happy_var_2))}}- ) (\r -> happyReturn (happyIn53 r))--happyReduce_101 = happySpecReduce_3 40# happyReduction_101-happyReduction_101 happy_x_3- happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn54- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_102 = happySpecReduce_1 40# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 -> - happyIn54- (([happy_var_1],[])- )}--happyReduce_103 = happyMonadReduce 1# 41# happyReduction_103-happyReduction_103 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut56 happy_x_1 of { happy_var_1 -> - ( checkEnabled RoleAnnotations >> return happy_var_1)}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_104 = happyMonadReduce 4# 41# happyReduction_104-happyReduction_104 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut96 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut107 happy_x_4 of { happy_var_4 -> - ( do { dh <- checkSimpleType happy_var_2;- let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]};- return (TypeDecl l dh happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_105 = happyMonadReduce 5# 41# happyReduction_105-happyReduction_105 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> - case happyOut98 happy_x_3 of { happy_var_3 -> - case happyOut140 happy_x_4 of { happy_var_4 -> - case happyOut60 happy_x_5 of { happy_var_5 -> - ( do { dh <- checkSimpleType happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};- case happy_var_5 of {- Nothing -> return (TypeFamDecl l dh (fst happy_var_4));- Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh (fst happy_var_4) x); }})}}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_106 = happyMonadReduce 5# 41# happyReduction_106-happyReduction_106 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut95 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> - case happyOut107 happy_x_5 of { happy_var_5 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns- checkEnabled TypeFamilies ;- let {l = nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]};- return (TypeInsDecl l happy_var_3 happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_107 = happyMonadReduce 4# 41# happyReduction_107-happyReduction_107 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_2 of { happy_var_2 -> - case happyOut123 happy_x_3 of { happy_var_3 -> - case happyOut131 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- let { (qds,ss,minf) = happy_var_3;- l = happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss};- checkDataOrNew happy_var_1 qds;- return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_108 = happyMonadReduce 5# 41# happyReduction_108-happyReduction_108 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_2 of { happy_var_2 -> - case happyOut140 happy_x_3 of { happy_var_3 -> - case happyOut119 happy_x_4 of { happy_var_4 -> - case happyOut131 happy_x_5 of { happy_var_5 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- let { (gs,ss,minf) = happy_var_4;- l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_5 <** (snd happy_var_3 ++ ss)};- checkDataOrNewG happy_var_1 gs;- case (gs, fst happy_var_3) of- ([], Nothing) -> return (DataDecl l happy_var_1 cs dh [] happy_var_5)- _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_109 = happyMonadReduce 4# 41# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> - case happyOut108 happy_x_3 of { happy_var_3 -> - case happyOut140 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};- return (DataFamDecl l cs dh (fst happy_var_4)) })}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_110 = happyMonadReduce 5# 41# happyReduction_110-happyReduction_110 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOut131 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- checkEnabled TypeFamilies ;- let { (qds,ss,minf) = happy_var_4 ;- l = happy_var_1 <> happy_var_3 <+?> minf <+?> fmap ann happy_var_5 <** happy_var_2:ss };- checkDataOrNew happy_var_1 qds;- return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })}}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_111 = happyMonadReduce 6# 41# happyReduction_111-happyReduction_111 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - case happyOut140 happy_x_4 of { happy_var_4 -> - case happyOut119 happy_x_5 of { happy_var_5 -> - case happyOut131 happy_x_6 of { happy_var_6 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- checkEnabled TypeFamilies ;- let {(gs,ss,minf) = happy_var_5;- l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_6 <** (happy_var_2:snd happy_var_4 ++ ss)};- checkDataOrNewG happy_var_1 gs;- return (GDataInsDecl l happy_var_1 happy_var_3 (fst happy_var_4) (reverse gs) happy_var_6) })}}}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_112 = happyMonadReduce 4# 41# happyReduction_112-happyReduction_112 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> - case happyOut108 happy_x_2 of { happy_var_2 -> - case happyOut116 happy_x_3 of { happy_var_3 -> - case happyOut141 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkClassHeader happy_var_2;- let {(fds,ss1,minf1) = happy_var_3;(mcs,ss2,minf2) = happy_var_4} ;- let { l = nIS happy_var_1 <++> ann happy_var_2 <+?> minf1 <+?> minf2 <** (happy_var_1:ss1 ++ ss2)} ;- return (ClassDecl l cs dh fds mcs) })}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_113 = happyMonadReduce 4# 41# happyReduction_113-happyReduction_113 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> - case happyOut59 happy_x_2 of { happy_var_2 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - case happyOut146 happy_x_4 of { happy_var_4 -> - ( do { ih <- checkInstHeader happy_var_3;- let {(mis,ss,minf) = happy_var_4};- return (InstDecl (nIS happy_var_1 <++> ann happy_var_3 <+?> minf <** (happy_var_1:ss)) happy_var_2 ih mis) })}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_114 = happyMonadReduce 4# 41# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut59 happy_x_3 of { happy_var_3 -> - case happyOut108 happy_x_4 of { happy_var_4 -> - ( do { checkEnabled StandaloneDeriving ;- ih <- checkInstHeader happy_var_4;- let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2]};- return (DerivDecl l happy_var_3 ih) })}}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_115 = happyReduce 4# 41# happyReduction_115-happyReduction_115 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut65 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn55- (DefaultDecl (happy_var_1 <^^> happy_var_4 <** (happy_var_1:happy_var_2 : snd happy_var_3 ++ [happy_var_4])) (fst happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_116 = happyMonadReduce 1# 41# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut159 happy_x_1 of { happy_var_1 -> - ( do- checkToplevel happy_var_1- checkExpr happy_var_1 >>= \e -> return (SpliceDecl (ann e) e))}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_117 = happyReduce 5# 41# happyReduction_117-happyReduction_117 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Import) -> - case happyOut81 happy_x_3 of { happy_var_3 -> - case happyOut82 happy_x_4 of { happy_var_4 -> - case happyOut83 happy_x_5 of { happy_var_5 -> - happyIn55- (let (s,n,t,ss) = happy_var_5 in ForImp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 happy_var_4 s n t- ) `HappyStk` happyRest}}}}}--happyReduce_118 = happyReduce 4# 41# happyReduction_118-happyReduction_118 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Export) -> - case happyOut81 happy_x_3 of { happy_var_3 -> - case happyOut83 happy_x_4 of { happy_var_4 -> - happyIn55- (let (s,n,t,ss) = happy_var_4 in ForExp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 s n t- ) `HappyStk` happyRest}}}}--happyReduce_119 = happySpecReduce_3 41# happyReduction_119-happyReduction_119 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RULES) -> - case happyOut84 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn55- (RulePragmaDecl (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ reverse happy_var_2- )}}}--happyReduce_120 = happySpecReduce_3 41# happyReduction_120-happyReduction_120 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> - case happyOut90 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn55- (DeprPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_121 = happySpecReduce_3 41# happyReduction_121-happyReduction_121 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> - case happyOut90 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn55- (WarnPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_122 = happySpecReduce_3 41# happyReduction_122-happyReduction_122 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> - case happyOut94 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn55- (AnnPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_123 = happySpecReduce_1 41# happyReduction_123-happyReduction_123 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn55- (happy_var_1- )}--happyReduce_124 = happyMonadReduce 4# 42# happyReduction_124-happyReduction_124 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Role) -> - case happyOut105 happy_x_3 of { happy_var_3 -> - case happyOut57 happy_x_4 of { happy_var_4 -> - ( mkRoleAnnotDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4))}}}}- ) (\r -> happyReturn (happyIn56 r))--happyReduce_125 = happySpecReduce_0 43# happyReduction_125-happyReduction_125 = happyIn57- ([]- )--happyReduce_126 = happySpecReduce_2 43# happyReduction_126-happyReduction_126 happy_x_2- happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 -> - case happyOut58 happy_x_2 of { happy_var_2 -> - happyIn57- (happy_var_2 : happy_var_1- )}}--happyReduce_127 = happySpecReduce_1 44# happyReduction_127-happyReduction_127 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn58- (let (VarId v) = unLoc happy_var_1 in (Just v, nIS $ loc happy_var_1)- )}--happyReduce_128 = happySpecReduce_1 44# happyReduction_128-happyReduction_128 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn58- ((Nothing, nIS happy_var_1)- )}--happyReduce_129 = happySpecReduce_2 45# happyReduction_129-happyReduction_129 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAP) -> - happyIn59- (Just (Overlap (nIS happy_var_1))- )}--happyReduce_130 = happySpecReduce_2 45# happyReduction_130-happyReduction_130 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 INCOHERENT) -> - happyIn59- (Just (Incoherent (nIS happy_var_1))- )}--happyReduce_131 = happySpecReduce_2 45# happyReduction_131-happyReduction_131 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 NO_OVERLAP) -> - happyIn59- (Just (NoOverlap (nIS happy_var_1))- )}--happyReduce_132 = happySpecReduce_0 45# happyReduction_132-happyReduction_132 = happyIn59- (Nothing- )--happyReduce_133 = happySpecReduce_0 46# happyReduction_133-happyReduction_133 = happyIn60- (Nothing- )--happyReduce_134 = happySpecReduce_2 46# happyReduction_134-happyReduction_134 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut61 happy_x_2 of { happy_var_2 -> - happyIn60- (Just (happy_var_2, happy_var_1)- )}}--happyReduce_135 = happySpecReduce_3 47# happyReduction_135-happyReduction_135 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_2 of { happy_var_2 -> - happyIn61- (happy_var_2- )}--happyReduce_136 = happySpecReduce_3 47# happyReduction_136-happyReduction_136 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_2 of { happy_var_2 -> - happyIn61- (happy_var_2- )}--happyReduce_137 = happySpecReduce_3 48# happyReduction_137-happyReduction_137 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut63 happy_x_3 of { happy_var_3 -> - happyIn62- (happy_var_1 ++ [happy_var_3]- )}}--happyReduce_138 = happySpecReduce_2 48# happyReduction_138-happyReduction_138 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn62- (happy_var_1- )}--happyReduce_139 = happySpecReduce_1 48# happyReduction_139-happyReduction_139 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - happyIn62- ([happy_var_1]- )}--happyReduce_140 = happyMonadReduce 3# 49# happyReduction_140-happyReduction_140 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled TypeFamilies ;- return (TypeEqn (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3) })}}}- ) (\r -> happyReturn (happyIn63 r))--happyReduce_141 = happySpecReduce_1 50# happyReduction_141-happyReduction_141 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - happyIn64- (DataType $ nIS happy_var_1- )}--happyReduce_142 = happySpecReduce_1 50# happyReduction_142-happyReduction_142 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - happyIn64- (NewType $ nIS happy_var_1- )}--happyReduce_143 = happyMonadReduce 1# 51# happyReduction_143-happyReduction_143 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut110 happy_x_1 of { happy_var_1 -> - ( do { ts <- mapM checkType (fst happy_var_1);- return $ (reverse ts, reverse (snd happy_var_1)) })}- ) (\r -> happyReturn (happyIn65 r))--happyReduce_144 = happySpecReduce_1 51# happyReduction_144-happyReduction_144 happy_x_1- = case happyOut97 happy_x_1 of { happy_var_1 -> - happyIn65- (([happy_var_1],[])- )}--happyReduce_145 = happySpecReduce_0 51# happyReduction_145-happyReduction_145 = happyIn65- (([],[])- )--happyReduce_146 = happyMonadReduce 3# 52# happyReduction_146-happyReduction_146 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut67 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - ( checkRevDecls (fst happy_var_2) >>= \ds -> return (ds, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_147 = happySpecReduce_1 52# happyReduction_147-happyReduction_147 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn66- (([],reverse happy_var_1)- )}--happyReduce_148 = happySpecReduce_3 53# happyReduction_148-happyReduction_148 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut68 happy_x_3 of { happy_var_3 -> - happyIn67- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_149 = happySpecReduce_1 53# happyReduction_149-happyReduction_149 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn67- (([happy_var_1],[])- )}--happyReduce_150 = happySpecReduce_1 54# happyReduction_150-happyReduction_150 happy_x_1- = case happyOut70 happy_x_1 of { happy_var_1 -> - happyIn68- (happy_var_1- )}--happyReduce_151 = happySpecReduce_1 54# happyReduction_151-happyReduction_151 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn68- (happy_var_1- )}--happyReduce_152 = happySpecReduce_1 54# happyReduction_152-happyReduction_152 happy_x_1- = case happyOut151 happy_x_1 of { happy_var_1 -> - happyIn68- (happy_var_1- )}--happyReduce_153 = happySpecReduce_1 54# happyReduction_153-happyReduction_153 happy_x_1- = case happyOut249 happy_x_1 of { happy_var_1 -> - happyIn68- (happy_var_1- )}--happyReduce_154 = happySpecReduce_1 54# happyReduction_154-happyReduction_154 happy_x_1- = case happyOut254 happy_x_1 of { happy_var_1 -> - happyIn68- (happy_var_1- )}--happyReduce_155 = happySpecReduce_3 55# happyReduction_155-happyReduction_155 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut66 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn69- (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)- )}}}--happyReduce_156 = happySpecReduce_3 55# happyReduction_156-happyReduction_156 happy_x_3- happy_x_2- happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut66 happy_x_2 of { happy_var_2 -> - case happyOut248 happy_x_3 of { happy_var_3 -> - happyIn69- (let l' = if null (fst happy_var_2) then nIS happy_var_3 else (ann . last $ fst happy_var_2)- in BDecls (nIS happy_var_1 <++> l' <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)- )}}}--happyReduce_157 = happySpecReduce_1 56# happyReduction_157-happyReduction_157 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn70- (happy_var_1- )}--happyReduce_158 = happySpecReduce_1 56# happyReduction_158-happyReduction_158 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn70- (happy_var_1- )}--happyReduce_159 = happyMonadReduce 3# 57# happyReduction_159-happyReduction_159 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - ( do { v <- checkSigVar happy_var_1;- return $ TypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) [v] happy_var_3 })}}}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_160 = happyMonadReduce 5# 57# happyReduction_160-happyReduction_160 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut80 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut107 happy_x_5 of { happy_var_5 -> - ( do { v <- checkSigVar happy_var_1;- let {(vs,ss,_) = happy_var_3 ; l = happy_var_1 <> happy_var_5 <** (happy_var_2 : reverse ss ++ [happy_var_4]) } ;- return $ TypeSig l (v : reverse vs) happy_var_5 })}}}}}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_161 = happyReduce 4# 58# happyReduction_161-happyReduction_161 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut86 happy_x_2 of { happy_var_2 -> - case happyOut220 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn72- (let Loc l (INLINE s) = happy_var_1 in InlineSig (l <^^> happy_var_4 <** [l,happy_var_4]) s happy_var_2 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_162 = happyReduce 4# 58# happyReduction_162-happyReduction_162 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 INLINE_CONLIKE) -> - case happyOut86 happy_x_2 of { happy_var_2 -> - case happyOut220 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn72- (InlineConlikeSig (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_4]) happy_var_2 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_163 = happyReduce 6# 58# happyReduction_163-happyReduction_163 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> - case happyOut86 happy_x_2 of { happy_var_2 -> - case happyOut220 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut73 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> - happyIn72- (SpecSig (happy_var_1 <^^> happy_var_6 <** (happy_var_1: happy_var_4 : snd happy_var_5 ++ [happy_var_6])) happy_var_2 happy_var_3 (fst happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_164 = happyReduce 6# 58# happyReduction_164-happyReduction_164 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut86 happy_x_2 of { happy_var_2 -> - case happyOut220 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut73 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> - happyIn72- (let Loc l (SPECIALISE_INLINE s) = happy_var_1- in SpecInlineSig (l <^^> happy_var_6 <** (l:happy_var_4:snd happy_var_5++[happy_var_6])) s happy_var_2 happy_var_3 (fst happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_165 = happyMonadReduce 4# 58# happyReduction_165-happyReduction_165 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut108 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - ( do { ih <- checkInstHeader happy_var_3;- let {l = happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,happy_var_4]};- return $ InstSig l ih })}}}}- ) (\r -> happyReturn (happyIn72 r))--happyReduce_166 = happySpecReduce_3 58# happyReduction_166-happyReduction_166 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 MINIMAL) -> - case happyOut75 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn72- (MinimalPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_167 = happySpecReduce_1 59# happyReduction_167-happyReduction_167 happy_x_1- = case happyOut74 happy_x_1 of { happy_var_1 -> - happyIn73- (([happy_var_1],[])- )}--happyReduce_168 = happySpecReduce_3 59# happyReduction_168-happyReduction_168 happy_x_3- happy_x_2- happy_x_1- = case happyOut74 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut73 happy_x_3 of { happy_var_3 -> - happyIn73- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_169 = happyMonadReduce 1# 60# happyReduction_169-happyReduction_169 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> - ( checkType $ mkTyForall (ann happy_var_1) Nothing Nothing happy_var_1)}- ) (\r -> happyReturn (happyIn74 r))--happyReduce_170 = happySpecReduce_1 61# happyReduction_170-happyReduction_170 happy_x_1- = case happyOut76 happy_x_1 of { happy_var_1 -> - happyIn75- (Just happy_var_1- )}--happyReduce_171 = happySpecReduce_0 61# happyReduction_171-happyReduction_171 = happyIn75- (Nothing- )--happyReduce_172 = happySpecReduce_1 62# happyReduction_172-happyReduction_172 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 -> - happyIn76- (happy_var_1- )}--happyReduce_173 = happySpecReduce_3 62# happyReduction_173-happyReduction_173 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn76- (OrFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]- )}}}--happyReduce_174 = happySpecReduce_1 63# happyReduction_174-happyReduction_174 happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_175 = happySpecReduce_3 63# happyReduction_175-happyReduction_175 happy_x_3- happy_x_2- happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut77 happy_x_3 of { happy_var_3 -> - happyIn77- (AndFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]- )}}}--happyReduce_176 = happySpecReduce_3 64# happyReduction_176-happyReduction_176 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut76 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn78- (ParenFormula (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_177 = happySpecReduce_1 64# happyReduction_177-happyReduction_177 happy_x_1- = case happyOut218 happy_x_1 of { happy_var_1 -> - happyIn78- (VarFormula (ann happy_var_1) happy_var_1- )}--happyReduce_178 = happySpecReduce_1 65# happyReduction_178-happyReduction_178 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - happyIn79- (happy_var_1- )}--happyReduce_179 = happySpecReduce_3 65# happyReduction_179-happyReduction_179 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut214 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn79- (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)- )}}}--happyReduce_180 = happySpecReduce_3 65# happyReduction_180-happyReduction_180 happy_x_3- happy_x_2- happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut214 happy_x_2 of { happy_var_2 -> - happyIn79- (let l' = ann . last $ fst happy_var_2- in IPBinds (nIS happy_var_1 <++> l' <** snd happy_var_2) (fst happy_var_2)- )}}--happyReduce_181 = happySpecReduce_3 66# happyReduction_181-happyReduction_181 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut218 happy_x_3 of { happy_var_3 -> - happyIn80- (let (ns,ss,l) = happy_var_1 in (happy_var_3 : ns, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_182 = happyMonadReduce 1# 66# happyReduction_182-happyReduction_182 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> - ( do { n <- checkUnQual happy_var_1;- return ([n],[],ann n) })}- ) (\r -> happyReturn (happyIn80 r))--happyReduce_183 = happySpecReduce_1 67# happyReduction_183-happyReduction_183 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn81- (StdCall (nIS happy_var_1)- )}--happyReduce_184 = happySpecReduce_1 67# happyReduction_184-happyReduction_184 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn81- (CCall (nIS happy_var_1)- )}--happyReduce_185 = happySpecReduce_1 67# happyReduction_185-happyReduction_185 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn81- (CPlusPlus (nIS happy_var_1)- )}--happyReduce_186 = happySpecReduce_1 67# happyReduction_186-happyReduction_186 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn81- (DotNet (nIS happy_var_1)- )}--happyReduce_187 = happySpecReduce_1 67# happyReduction_187-happyReduction_187 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn81- (Jvm (nIS happy_var_1)- )}--happyReduce_188 = happySpecReduce_1 67# happyReduction_188-happyReduction_188 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn81- (Js (nIS happy_var_1)- )}--happyReduce_189 = happySpecReduce_1 67# happyReduction_189-happyReduction_189 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> - happyIn81- (JavaScript (nIS happy_var_1)- )}--happyReduce_190 = happySpecReduce_1 67# happyReduction_190-happyReduction_190 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn81- (CApi (nIS happy_var_1)- )}--happyReduce_191 = happySpecReduce_1 68# happyReduction_191-happyReduction_191 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn82- (Just $ PlaySafe (nIS happy_var_1) False- )}--happyReduce_192 = happySpecReduce_1 68# happyReduction_192-happyReduction_192 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn82- (Just $ PlayRisky (nIS happy_var_1)- )}--happyReduce_193 = happySpecReduce_1 68# happyReduction_193-happyReduction_193 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn82- (Just $ PlaySafe (nIS happy_var_1) True- )}--happyReduce_194 = happySpecReduce_1 68# happyReduction_194-happyReduction_194 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn82- (Just $ PlayInterruptible (nIS happy_var_1)- )}--happyReduce_195 = happySpecReduce_0 68# happyReduction_195-happyReduction_195 = happyIn82- (Nothing- )--happyReduce_196 = happyReduce 4# 69# happyReduction_196-happyReduction_196 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut219 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut95 happy_x_4 of { happy_var_4 -> - happyIn83- (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_197 = happySpecReduce_3 69# happyReduction_197-happyReduction_197 happy_x_3- happy_x_2- happy_x_1- = case happyOut219 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut95 happy_x_3 of { happy_var_3 -> - happyIn83- ((Nothing, happy_var_1, happy_var_3, [happy_var_2])- )}}}--happyReduce_198 = happySpecReduce_3 70# happyReduction_198-happyReduction_198 happy_x_3- happy_x_2- happy_x_1- = case happyOut84 happy_x_1 of { happy_var_1 -> - case happyOut85 happy_x_3 of { happy_var_3 -> - happyIn84- (happy_var_3 : happy_var_1- )}}--happyReduce_199 = happySpecReduce_2 70# happyReduction_199-happyReduction_199 happy_x_2- happy_x_1- = case happyOut84 happy_x_1 of { happy_var_1 -> - happyIn84- (happy_var_1- )}--happyReduce_200 = happySpecReduce_1 70# happyReduction_200-happyReduction_200 happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 -> - happyIn84- ([happy_var_1]- )}--happyReduce_201 = happySpecReduce_0 70# happyReduction_201-happyReduction_201 = happyIn84- ([]- )--happyReduce_202 = happyMonadReduce 6# 71# happyReduction_202-happyReduction_202 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut86 happy_x_2 of { happy_var_2 -> - case happyOut87 happy_x_3 of { happy_var_3 -> - case happyOut159 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> - case happyOut157 happy_x_6 of { happy_var_6 -> - ( do { let {Loc l (StringTok (s,_)) = happy_var_1};- e <- checkRuleExpr happy_var_4;- return $ Rule (nIS l <++> ann happy_var_6 <** l:snd happy_var_3 ++ [happy_var_5]) s happy_var_2 (fst happy_var_3) e happy_var_6 })}}}}}}- ) (\r -> happyReturn (happyIn85 r))--happyReduce_203 = happySpecReduce_0 72# happyReduction_203-happyReduction_203 = happyIn86- (Nothing- )--happyReduce_204 = happySpecReduce_3 72# happyReduction_204-happyReduction_204 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn86- (let Loc l (IntTok (i,_)) = happy_var_2 in Just $ ActiveFrom (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) (fromInteger i)- )}}}--happyReduce_205 = happyReduce 4# 72# happyReduction_205-happyReduction_205 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOutTok happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> - happyIn86- (let Loc l (IntTok (i,_)) = happy_var_3 in Just $ ActiveUntil (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,l,happy_var_4]) (fromInteger i)- ) `HappyStk` happyRest}}}}--happyReduce_206 = happySpecReduce_0 73# happyReduction_206-happyReduction_206 = happyIn87- ((Nothing,[])- )--happyReduce_207 = happySpecReduce_3 73# happyReduction_207-happyReduction_207 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut88 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - happyIn87- ((Just happy_var_2,[happy_var_1,happy_var_3])- )}}}--happyReduce_208 = happySpecReduce_1 74# happyReduction_208-happyReduction_208 happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - happyIn88- ([happy_var_1]- )}--happyReduce_209 = happySpecReduce_2 74# happyReduction_209-happyReduction_209 happy_x_2- happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - case happyOut88 happy_x_2 of { happy_var_2 -> - happyIn88- (happy_var_1 : happy_var_2- )}}--happyReduce_210 = happySpecReduce_1 75# happyReduction_210-happyReduction_210 happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - happyIn89- (RuleVar (ann happy_var_1) happy_var_1- )}--happyReduce_211 = happyReduce 5# 75# happyReduction_211-happyReduction_211 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut235 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut107 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn89- (TypedRuleVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_212 = happySpecReduce_3 76# happyReduction_212-happyReduction_212 happy_x_3- happy_x_2- happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - case happyOut91 happy_x_3 of { happy_var_3 -> - happyIn90- ((fst happy_var_3 : fst happy_var_1, snd happy_var_1 ++ (happy_var_2:snd happy_var_3))- )}}}--happyReduce_213 = happySpecReduce_2 76# happyReduction_213-happyReduction_213 happy_x_2- happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - happyIn90- ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2])- )}}--happyReduce_214 = happySpecReduce_1 76# happyReduction_214-happyReduction_214 happy_x_1- = case happyOut91 happy_x_1 of { happy_var_1 -> - happyIn90- (([fst happy_var_1],snd happy_var_1)- )}--happyReduce_215 = happySpecReduce_0 76# happyReduction_215-happyReduction_215 = happyIn90- (([],[])- )--happyReduce_216 = happySpecReduce_2 77# happyReduction_216-happyReduction_216 happy_x_2- happy_x_1- = case happyOut92 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn91- (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])- )}}--happyReduce_217 = happySpecReduce_1 78# happyReduction_217-happyReduction_217 happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 -> - happyIn92- (([happy_var_1],[])- )}--happyReduce_218 = happySpecReduce_3 78# happyReduction_218-happyReduction_218 happy_x_3- happy_x_2- happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut92 happy_x_3 of { happy_var_3 -> - happyIn92- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_219 = happySpecReduce_1 79# happyReduction_219-happyReduction_219 happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - happyIn93- (happy_var_1- )}--happyReduce_220 = happySpecReduce_1 79# happyReduction_220-happyReduction_220 happy_x_1- = case happyOut218 happy_x_1 of { happy_var_1 -> - happyIn93- (happy_var_1- )}--happyReduce_221 = happyMonadReduce 3# 80# happyReduction_221-happyReduction_221 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut238 happy_x_2 of { happy_var_2 -> - case happyOut170 happy_x_3 of { happy_var_3 -> - ( checkExpr happy_var_3 >>= \e -> return (TypeAnn (nIS happy_var_1 <++> ann e <** [happy_var_1]) happy_var_2 e))}}}- ) (\r -> happyReturn (happyIn94 r))--happyReduce_222 = happyMonadReduce 2# 80# happyReduction_222-happyReduction_222 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut170 happy_x_2 of { happy_var_2 -> - ( checkExpr happy_var_2 >>= \e -> return (ModuleAnn (nIS happy_var_1 <++> ann e <** [happy_var_1]) e))}}- ) (\r -> happyReturn (happyIn94 r))--happyReduce_223 = happyMonadReduce 2# 80# happyReduction_223-happyReduction_223 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut93 happy_x_1 of { happy_var_1 -> - case happyOut170 happy_x_2 of { happy_var_2 -> - ( checkExpr happy_var_2 >>= \e -> return (Ann (happy_var_1 <> e) happy_var_1 e))}}- ) (\r -> happyReturn (happyIn94 r))--happyReduce_224 = happyMonadReduce 1# 81# happyReduction_224-happyReduction_224 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut96 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn95 r))--happyReduce_225 = happySpecReduce_1 82# happyReduction_225-happyReduction_225 happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - happyIn96- (happy_var_1- )}--happyReduce_226 = happySpecReduce_3 82# happyReduction_226-happyReduction_226 happy_x_3- happy_x_2- happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOut106 happy_x_2 of { happy_var_2 -> - case happyOut96 happy_x_3 of { happy_var_3 -> - happyIn96- (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_227 = happySpecReduce_3 82# happyReduction_227-happyReduction_227 happy_x_3- happy_x_2- happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOut261 happy_x_2 of { happy_var_2 -> - case happyOut96 happy_x_3 of { happy_var_3 -> - happyIn96- (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_228 = happySpecReduce_3 82# happyReduction_228-happyReduction_228 happy_x_3- happy_x_2- happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut108 happy_x_3 of { happy_var_3 -> - happyIn96- (TyFun (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_229 = happyMonadReduce 3# 82# happyReduction_229-happyReduction_229 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOut100 happy_x_3 of { happy_var_3 -> - ( do { checkEnabledOneOf [TypeFamilies, GADTs] ;- let {l = happy_var_1 <> happy_var_3 <** [happy_var_2]};- return $ TyPred l $ EqualP l happy_var_1 happy_var_3 })}}}- ) (\r -> happyReturn (happyIn96 r))--happyReduce_230 = happyMonadReduce 1# 83# happyReduction_230-happyReduction_230 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut98 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_231 = happySpecReduce_3 84# happyReduction_231-happyReduction_231 happy_x_3- happy_x_2- happy_x_1- = case happyOut221 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut96 happy_x_3 of { happy_var_3 -> - happyIn98- (let l = (happy_var_1 <> happy_var_3 <** [happy_var_2]) in TyPred l $ IParam l happy_var_1 happy_var_3- )}}}--happyReduce_232 = happySpecReduce_1 84# happyReduction_232-happyReduction_232 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 -> - happyIn98- (happy_var_1- )}--happyReduce_233 = happyMonadReduce 1# 85# happyReduction_233-happyReduction_233 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_234 = happySpecReduce_2 86# happyReduction_234-happyReduction_234 happy_x_2- happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOut101 happy_x_2 of { happy_var_2 -> - happyIn100- (TyApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_235 = happySpecReduce_1 86# happyReduction_235-happyReduction_235 happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 -> - happyIn100- (happy_var_1- )}--happyReduce_236 = happySpecReduce_1 87# happyReduction_236-happyReduction_236 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 -> - happyIn101- (TyCon (ann happy_var_1) happy_var_1- )}--happyReduce_237 = happyMonadReduce 1# 87# happyReduction_237-happyReduction_237 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut259 happy_x_1 of { happy_var_1 -> - ( checkTyVar happy_var_1)}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_238 = happySpecReduce_2 87# happyReduction_238-happyReduction_238 happy_x_2- happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - case happyOut101 happy_x_2 of { happy_var_2 -> - happyIn101- (let (bangOrPack, locs) = happy_var_1- in let annot = if bangOrPack then (BangedTy (nIS (last locs) <** locs)) else UnpackedTy (nIS (head locs) <++> nIS (last locs) <** locs)- in bangType (nIS (head locs) <++> ann happy_var_2) annot happy_var_2- )}}--happyReduce_239 = happySpecReduce_3 87# happyReduction_239-happyReduction_239 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut110 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn101- (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Boxed (reverse (fst happy_var_2))- )}}}--happyReduce_240 = happySpecReduce_3 87# happyReduction_240-happyReduction_240 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut111 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn101- (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Unboxed (reverse (fst happy_var_2))- )}}}--happyReduce_241 = happySpecReduce_3 87# happyReduction_241-happyReduction_241 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut98 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn101- (TyList (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_242 = happySpecReduce_3 87# happyReduction_242-happyReduction_242 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> - case happyOut98 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> - happyIn101- (TyParArray (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_243 = happySpecReduce_3 87# happyReduction_243-happyReduction_243 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut108 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn101- (TyParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_244 = happyReduce 5# 87# happyReduction_244-happyReduction_244 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut108 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut134 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn101- (TyKind (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_245 = happySpecReduce_3 87# happyReduction_245-happyReduction_245 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn101- (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in TySplice l $ ParenSplice l happy_var_2- )}}}--happyReduce_246 = happySpecReduce_1 87# happyReduction_246-happyReduction_246 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn101- (let Loc l (THIdEscape s) = happy_var_1 in TySplice (nIS l) $ IdSplice (nIS l) s- )}--happyReduce_247 = happySpecReduce_1 87# happyReduction_247-happyReduction_247 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn101- (TyWildCard (nIS happy_var_1) Nothing- )}--happyReduce_248 = happyMonadReduce 1# 87# happyReduction_248-happyReduction_248 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> - ( checkEnabled DataKinds >> return (TyPromoted (ann happy_var_1) happy_var_1))}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_249 = happyMonadReduce 4# 88# happyReduction_249-happyReduction_249 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut111 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> - ( PromotedList (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse(happy_var_4:snd happy_var_3))) True . reverse <$> mapM checkType (fst happy_var_3))}}}- ) (\r -> happyReturn (happyIn102 r))--happyReduce_250 = happySpecReduce_3 88# happyReduction_250-happyReduction_250 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn102- (PromotedList (happy_var_1 <^^> happy_var_3 <** [happy_var_1, happy_var_3]) True []- )}}--happyReduce_251 = happyMonadReduce 3# 88# happyReduction_251-happyReduction_251 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut110 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - ( PromotedList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse(happy_var_3:snd happy_var_2))) False . reverse <$> mapM checkType (fst happy_var_2))}}}- ) (\r -> happyReturn (happyIn102 r))--happyReduce_252 = happyMonadReduce 4# 88# happyReduction_252-happyReduction_252 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut111 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - ( PromotedTuple (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse(happy_var_4:snd happy_var_3))) . reverse <$> mapM checkType (fst happy_var_3))}}}- ) (\r -> happyReturn (happyIn102 r))--happyReduce_253 = happySpecReduce_3 88# happyReduction_253-happyReduction_253 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn102- (PromotedUnit (happy_var_1 <^^> happy_var_3 )- )}}--happyReduce_254 = happySpecReduce_2 88# happyReduction_254-happyReduction_254 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut232 happy_x_2 of { happy_var_2 -> - happyIn102- (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True happy_var_2- )}}--happyReduce_255 = happySpecReduce_2 88# happyReduction_255-happyReduction_255 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut258 happy_x_2 of { happy_var_2 -> - happyIn102- (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True happy_var_2- )}}--happyReduce_256 = happySpecReduce_1 88# happyReduction_256-happyReduction_256 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn102- (let Loc l (IntTok (i,raw)) = happy_var_1 in PromotedInteger (nIS l) i raw- )}--happyReduce_257 = happySpecReduce_1 88# happyReduction_257-happyReduction_257 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn102- (let Loc l (StringTok (s,raw)) = happy_var_1 in PromotedString (nIS l) s raw- )}--happyReduce_258 = happySpecReduce_1 89# happyReduction_258-happyReduction_258 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn103- ((True, [happy_var_1])- )}--happyReduce_259 = happySpecReduce_3 89# happyReduction_259-happyReduction_259 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 UNPACK) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Exclamation) -> - happyIn103- ((False, [happy_var_1,happy_var_2,happy_var_3])- )}}}--happyReduce_260 = happySpecReduce_1 90# happyReduction_260-happyReduction_260 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn104- (happy_var_1- )}--happyReduce_261 = happySpecReduce_2 90# happyReduction_261-happyReduction_261 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn104- (unit_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_262 = happySpecReduce_3 90# happyReduction_262-happyReduction_262 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn104- (fun_tycon_name (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3])- )}}}--happyReduce_263 = happySpecReduce_2 90# happyReduction_263-happyReduction_263 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> - happyIn104- (list_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_264 = happySpecReduce_3 90# happyReduction_264-happyReduction_264 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn104- (tuple_tycon_name (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Boxed (length happy_var_2)- )}}}--happyReduce_265 = happySpecReduce_2 90# happyReduction_265-happyReduction_265 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn104- (unboxed_singleton_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_266 = happySpecReduce_3 90# happyReduction_266-happyReduction_266 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn104- (tuple_tycon_name (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Unboxed (length happy_var_2)- )}}}--happyReduce_267 = happySpecReduce_1 91# happyReduction_267-happyReduction_267 happy_x_1- = case happyOut237 happy_x_1 of { happy_var_1 -> - happyIn105- (happy_var_1- )}--happyReduce_268 = happySpecReduce_3 91# happyReduction_268-happyReduction_268 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut232 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn105- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_269 = happySpecReduce_3 91# happyReduction_269-happyReduction_269 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut241 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn105- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_270 = happySpecReduce_1 92# happyReduction_270-happyReduction_270 happy_x_1- = case happyOut228 happy_x_1 of { happy_var_1 -> - happyIn106- (happy_var_1- )}--happyReduce_271 = happyMonadReduce 1# 93# happyReduction_271-happyReduction_271 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_272 = happyReduce 4# 94# happyReduction_272-happyReduction_272 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut112 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - case happyOut108 happy_x_4 of { happy_var_4 -> - happyIn108- (mkTyForall (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (Just (reverse (fst happy_var_2))) Nothing happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_273 = happySpecReduce_2 94# happyReduction_273-happyReduction_273 happy_x_2- happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_2 of { happy_var_2 -> - happyIn108- (mkTyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2- )}}--happyReduce_274 = happySpecReduce_1 94# happyReduction_274-happyReduction_274 happy_x_1- = case happyOut98 happy_x_1 of { happy_var_1 -> - happyIn108- (happy_var_1- )}--happyReduce_275 = happyMonadReduce 2# 95# happyReduction_275-happyReduction_275 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleArrow) -> - ( checkPContext $ (amap (\l -> l <++> nIS happy_var_2 <** (srcInfoPoints l ++ [happy_var_2]))) happy_var_1)}}- ) (\r -> happyReturn (happyIn109 r))--happyReduce_276 = happyMonadReduce 4# 95# happyReduction_276-happyReduction_276 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOut100 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleArrow) -> - ( do { checkEnabledOneOf [TypeFamilies, GADTs];- let {l = happy_var_1 <> happy_var_3 <** [happy_var_2,happy_var_4]};- checkPContext (TyPred l $ EqualP l happy_var_1 happy_var_3) })}}}}- ) (\r -> happyReturn (happyIn109 r))--happyReduce_277 = happySpecReduce_3 96# happyReduction_277-happyReduction_277 happy_x_3- happy_x_2- happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut108 happy_x_3 of { happy_var_3 -> - happyIn110- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_278 = happySpecReduce_1 97# happyReduction_278-happyReduction_278 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn111- (([happy_var_1],[])- )}--happyReduce_279 = happySpecReduce_3 97# happyReduction_279-happyReduction_279 happy_x_3- happy_x_2- happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut108 happy_x_3 of { happy_var_3 -> - happyIn111- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_280 = happySpecReduce_2 98# happyReduction_280-happyReduction_280 happy_x_2- happy_x_1- = case happyOut112 happy_x_1 of { happy_var_1 -> - case happyOut113 happy_x_2 of { happy_var_2 -> - happyIn112- ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))- )}}--happyReduce_281 = happySpecReduce_0 98# happyReduction_281-happyReduction_281 = happyIn112- (([],Nothing)- )--happyReduce_282 = happySpecReduce_1 99# happyReduction_282-happyReduction_282 happy_x_1- = case happyOut259 happy_x_1 of { happy_var_1 -> - happyIn113- (UnkindedVar (ann happy_var_1) happy_var_1- )}--happyReduce_283 = happyReduce 5# 99# happyReduction_283-happyReduction_283 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut259 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut134 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn113- (KindedVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_284 = happySpecReduce_2 100# happyReduction_284-happyReduction_284 happy_x_2- happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut259 happy_x_2 of { happy_var_2 -> - happyIn114- ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))- )}}--happyReduce_285 = happySpecReduce_0 100# happyReduction_285-happyReduction_285 = happyIn114- (([], Nothing)- )--happyReduce_286 = happySpecReduce_2 101# happyReduction_286-happyReduction_286 happy_x_2- happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut259 happy_x_2 of { happy_var_2 -> - happyIn115- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)- )}}--happyReduce_287 = happySpecReduce_0 102# happyReduction_287-happyReduction_287 = happyIn116- (([],[], Nothing)- )--happyReduce_288 = happyMonadReduce 2# 102# happyReduction_288-happyReduction_288 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut117 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled FunctionalDependencies ;- let {(fds,ss,l) = happy_var_2} ;- return (reverse fds, happy_var_1 : reverse ss, Just (nIS happy_var_1 <++> l)) })}}- ) (\r -> happyReturn (happyIn116 r))--happyReduce_289 = happySpecReduce_3 103# happyReduction_289-happyReduction_289 happy_x_3- happy_x_2- happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut118 happy_x_3 of { happy_var_3 -> - happyIn117- (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_290 = happySpecReduce_1 103# happyReduction_290-happyReduction_290 happy_x_1- = case happyOut118 happy_x_1 of { happy_var_1 -> - happyIn117- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_291 = happySpecReduce_3 104# happyReduction_291-happyReduction_291 happy_x_3- happy_x_2- happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut115 happy_x_3 of { happy_var_3 -> - happyIn118- (FunDep (snd happy_var_1 <?+> nIS happy_var_2 <++> snd happy_var_3 <** [happy_var_2]) (reverse (fst happy_var_1)) (reverse (fst happy_var_3))- )}}}--happyReduce_292 = happyMonadReduce 4# 105# happyReduction_292-happyReduction_292 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}}- ) (\r -> happyReturn (happyIn119 r))--happyReduce_293 = happyMonadReduce 4# 105# happyReduction_293-happyReduction_293 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - case happyOut120 happy_x_3 of { happy_var_3 -> - case happyOut248 happy_x_4 of { happy_var_4 -> - ( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}}- ) (\r -> happyReturn (happyIn119 r))--happyReduce_294 = happyMonadReduce 0# 105# happyReduction_294-happyReduction_294 (happyRest) tk- = happyThen (( checkEnabled EmptyDataDecls >> return ([],[],Nothing))- ) (\r -> happyReturn (happyIn119 r))--happyReduce_295 = happySpecReduce_3 106# happyReduction_295-happyReduction_295 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn120- ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_296 = happySpecReduce_3 107# happyReduction_296-happyReduction_296 happy_x_3- happy_x_2- happy_x_1- = case happyOut121 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut122 happy_x_3 of { happy_var_3 -> - happyIn121- ((happy_var_3 ++ fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_297 = happySpecReduce_1 107# happyReduction_297-happyReduction_297 happy_x_1- = case happyOut122 happy_x_1 of { happy_var_1 -> - happyIn121- ((happy_var_1,[])- )}--happyReduce_298 = happyMonadReduce 3# 108# happyReduction_298-happyReduction_298 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - ( do { c <- checkUnQual happy_var_1;- return [GadtDecl (happy_var_1 <> happy_var_3 <** [happy_var_2]) c Nothing happy_var_3] })}}}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_299 = happyMonadReduce 7# 108# happyReduction_299-happyReduction_299 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftCurly) -> - case happyOut129 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightCurly) -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 RightArrow) -> - case happyOut107 happy_x_7 of { happy_var_7 -> - ( do { c <- checkUnQual happy_var_1;- return [GadtDecl (happy_var_1 <> happy_var_7 <** [happy_var_2,happy_var_3,happy_var_5,happy_var_6] ++ snd happy_var_4) c (Just (reverse $ fst happy_var_4)) happy_var_7] })}}}}}}}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_300 = happySpecReduce_2 109# happyReduction_300-happyReduction_300 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut124 happy_x_2 of { happy_var_2 -> - happyIn123- (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)- )}}--happyReduce_301 = happySpecReduce_3 110# happyReduction_301-happyReduction_301 happy_x_3- happy_x_2- happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut125 happy_x_3 of { happy_var_3 -> - happyIn124- (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_302 = happySpecReduce_1 110# happyReduction_302-happyReduction_302 happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - happyIn124- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_303 = happyMonadReduce 3# 111# happyReduction_303-happyReduction_303 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut126 happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_2 of { happy_var_2 -> - case happyOut127 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled ExistentialQuantification ;- ctxt <- checkContext (Just happy_var_2) ;- let {(mtvs,ss,ml) = happy_var_1} ;- return $ QualConDecl (ml <?+> ann happy_var_3 <** ss) mtvs ctxt happy_var_3 })}}}- ) (\r -> happyReturn (happyIn125 r))--happyReduce_304 = happySpecReduce_2 111# happyReduction_304-happyReduction_304 happy_x_2- happy_x_1- = case happyOut126 happy_x_1 of { happy_var_1 -> - case happyOut127 happy_x_2 of { happy_var_2 -> - happyIn125- (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2- )}}--happyReduce_305 = happyMonadReduce 3# 112# happyReduction_305-happyReduction_305 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut112 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - ( checkEnabled ExistentialQuantification >> return (Just (fst happy_var_2), [happy_var_1,happy_var_3], Just $ happy_var_1 <^^> happy_var_3))}}}- ) (\r -> happyReturn (happyIn126 r))--happyReduce_306 = happySpecReduce_0 112# happyReduction_306-happyReduction_306 = happyIn126- ((Nothing, [], Nothing)- )--happyReduce_307 = happySpecReduce_1 113# happyReduction_307-happyReduction_307 happy_x_1- = case happyOut128 happy_x_1 of { happy_var_1 -> - happyIn127- (let (n,ts,l) = happy_var_1 in ConDecl l n ts- )}--happyReduce_308 = happySpecReduce_3 113# happyReduction_308-happyReduction_308 happy_x_3- happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut227 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn127- (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_309 = happyMonadReduce 3# 113# happyReduction_309-happyReduction_309 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - ( do { c <- checkUnQual happy_var_1; return $ RecDecl (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) c [] })}}}- ) (\r -> happyReturn (happyIn127 r))--happyReduce_310 = happyMonadReduce 4# 113# happyReduction_310-happyReduction_310 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut129 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( do { c <- checkUnQual happy_var_1;- return $ RecDecl (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) c (reverse (fst happy_var_3)) })}}}}- ) (\r -> happyReturn (happyIn127 r))--happyReduce_311 = happyMonadReduce 1# 114# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> - ( do { (c,ts) <- splitTyConApp happy_var_1;- return (c, ts, ann happy_var_1) })}- ) (\r -> happyReturn (happyIn128 r))--happyReduce_312 = happySpecReduce_3 115# happyReduction_312-happyReduction_312 happy_x_3- happy_x_2- happy_x_1- = case happyOut129 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut130 happy_x_3 of { happy_var_3 -> - happyIn129- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_313 = happySpecReduce_1 115# happyReduction_313-happyReduction_313 happy_x_1- = case happyOut130 happy_x_1 of { happy_var_1 -> - happyIn129- (([happy_var_1],[])- )}--happyReduce_314 = happySpecReduce_3 116# happyReduction_314-happyReduction_314 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - happyIn130- (let (ns,ss,l) = happy_var_1 in FieldDecl (l <++> ann happy_var_3 <** (reverse ss ++ [happy_var_2])) (reverse ns) happy_var_3- )}}}--happyReduce_315 = happySpecReduce_0 117# happyReduction_315-happyReduction_315 = happyIn131- (Nothing- )--happyReduce_316 = happySpecReduce_2 117# happyReduction_316-happyReduction_316 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOut133 happy_x_2 of { happy_var_2 -> - happyIn131- (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IRule (ann happy_var_2) Nothing Nothing happy_var_2]- )}}--happyReduce_317 = happySpecReduce_3 117# happyReduction_317-happyReduction_317 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn131- (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []- )}}}--happyReduce_318 = happyReduce 4# 117# happyReduction_318-happyReduction_318 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut132 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn131- (-- Distinguish deriving (Show) from deriving Show (#189)- case fst happy_var_3 of- [ts] -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** [happy_var_1]) [IParen (happy_var_2 <^^> happy_var_4 <** [happy_var_2,happy_var_4]) ts]- tss -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse tss)- ) `HappyStk` happyRest}}}}--happyReduce_319 = happyMonadReduce 1# 118# happyReduction_319-happyReduction_319 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut111 happy_x_1 of { happy_var_1 -> - ( checkDeriving (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1))}- ) (\r -> happyReturn (happyIn132 r))--happyReduce_320 = happySpecReduce_1 119# happyReduction_320-happyReduction_320 happy_x_1- = case happyOut237 happy_x_1 of { happy_var_1 -> - happyIn133- (IHCon (ann happy_var_1) happy_var_1- )}--happyReduce_321 = happyMonadReduce 1# 120# happyReduction_321-happyReduction_321 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut135 happy_x_1 of { happy_var_1 -> - ( checkEnabled KindSignatures >> return happy_var_1)}- ) (\r -> happyReturn (happyIn134 r))--happyReduce_322 = happySpecReduce_1 121# happyReduction_322-happyReduction_322 happy_x_1- = case happyOut136 happy_x_1 of { happy_var_1 -> - happyIn135- (happy_var_1- )}--happyReduce_323 = happySpecReduce_3 121# happyReduction_323-happyReduction_323 happy_x_3- happy_x_2- happy_x_1- = case happyOut136 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut135 happy_x_3 of { happy_var_3 -> - happyIn135- (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_324 = happySpecReduce_1 122# happyReduction_324-happyReduction_324 happy_x_1- = case happyOut137 happy_x_1 of { happy_var_1 -> - happyIn136- (happy_var_1- )}--happyReduce_325 = happySpecReduce_2 122# happyReduction_325-happyReduction_325 happy_x_2- happy_x_1- = case happyOut136 happy_x_1 of { happy_var_1 -> - case happyOut137 happy_x_2 of { happy_var_2 -> - happyIn136- (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_326 = happySpecReduce_1 123# happyReduction_326-happyReduction_326 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn137- (KindStar (nIS happy_var_1)- )}--happyReduce_327 = happySpecReduce_3 123# happyReduction_327-happyReduction_327 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut135 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn137- (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_328 = happyMonadReduce 1# 123# happyReduction_328-happyReduction_328 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut138 happy_x_1 of { happy_var_1 -> - ( checkKind happy_var_1 >> return happy_var_1)}- ) (\r -> happyReturn (happyIn137 r))--happyReduce_329 = happyMonadReduce 1# 123# happyReduction_329-happyReduction_329 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> - ( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))}- ) (\r -> happyReturn (happyIn137 r))--happyReduce_330 = happySpecReduce_1 124# happyReduction_330-happyReduction_330 happy_x_1- = case happyOut258 happy_x_1 of { happy_var_1 -> - happyIn138- (KindVar (ann happy_var_1) happy_var_1- )}--happyReduce_331 = happySpecReduce_2 124# happyReduction_331-happyReduction_331 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn138- (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)- )}}--happyReduce_332 = happyReduce 5# 124# happyReduction_332-happyReduction_332 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut134 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Comma) -> - case happyOut139 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn138- (KindTuple (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3:reverse (happy_var_5:snd happy_var_4))) (happy_var_2:reverse (fst happy_var_4))- ) `HappyStk` happyRest}}}}}--happyReduce_333 = happySpecReduce_3 124# happyReduction_333-happyReduction_333 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut134 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn138- (KindList ((happy_var_1 <^^> happy_var_3) <** [happy_var_1, happy_var_3]) happy_var_2- )}}}--happyReduce_334 = happySpecReduce_1 125# happyReduction_334-happyReduction_334 happy_x_1- = case happyOut135 happy_x_1 of { happy_var_1 -> - happyIn139- (([happy_var_1], [])- )}--happyReduce_335 = happySpecReduce_3 125# happyReduction_335-happyReduction_335 happy_x_3- happy_x_2- happy_x_1- = case happyOut135 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut139 happy_x_3 of { happy_var_3 -> - happyIn139- ((happy_var_1 : (fst happy_var_3), happy_var_2 : (snd happy_var_3))- )}}}--happyReduce_336 = happySpecReduce_0 126# happyReduction_336-happyReduction_336 = happyIn140- ((Nothing,[])- )--happyReduce_337 = happySpecReduce_2 126# happyReduction_337-happyReduction_337 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut134 happy_x_2 of { happy_var_2 -> - happyIn140- ((Just happy_var_2,[happy_var_1])- )}}--happyReduce_338 = happyMonadReduce 4# 127# happyReduction_338-happyReduction_338 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut142 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn141 r))--happyReduce_339 = happyMonadReduce 4# 127# happyReduction_339-happyReduction_339 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - case happyOut142 happy_x_3 of { happy_var_3 -> - case happyOut248 happy_x_4 of { happy_var_4 -> - ( do { vs <- checkClassBody (fst happy_var_3);- let { l' = if null (fst happy_var_3) then nIS happy_var_4 else (ann . last $ fst happy_var_3) };- return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (nIS happy_var_1 <++> l')) })}}}}- ) (\r -> happyReturn (happyIn141 r))--happyReduce_340 = happySpecReduce_0 127# happyReduction_340-happyReduction_340 = happyIn141- ((Nothing,[],Nothing)- )--happyReduce_341 = happyMonadReduce 3# 128# happyReduction_341-happyReduction_341 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut143 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - ( checkRevClsDecls (fst happy_var_2) >>= \cs -> return (cs, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}- ) (\r -> happyReturn (happyIn142 r))--happyReduce_342 = happySpecReduce_1 128# happyReduction_342-happyReduction_342 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn142- (([],reverse happy_var_1)- )}--happyReduce_343 = happySpecReduce_3 129# happyReduction_343-happyReduction_343 happy_x_3- happy_x_2- happy_x_1- = case happyOut143 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut144 happy_x_3 of { happy_var_3 -> - happyIn143- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_344 = happySpecReduce_1 129# happyReduction_344-happyReduction_344 happy_x_1- = case happyOut144 happy_x_1 of { happy_var_1 -> - happyIn143- (([happy_var_1],[])- )}--happyReduce_345 = happySpecReduce_1 130# happyReduction_345-happyReduction_345 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn144- (ClsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_346 = happyMonadReduce 1# 130# happyReduction_346-happyReduction_346 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut145 happy_x_1 of { happy_var_1 -> - ( checkEnabled TypeFamilies >> return happy_var_1)}- ) (\r -> happyReturn (happyIn144 r))--happyReduce_347 = happyMonadReduce 2# 130# happyReduction_347-happyReduction_347 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - case happyOut70 happy_x_2 of { happy_var_2 -> - ( checkEnabled DefaultSignatures >> checkDefSigDef happy_var_2 >>= \(n,t,l) -> return (ClsDefSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1,l]) n t))}}- ) (\r -> happyReturn (happyIn144 r))--happyReduce_348 = happyMonadReduce 3# 131# happyReduction_348-happyReduction_348 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut98 happy_x_2 of { happy_var_2 -> - case happyOut140 happy_x_3 of { happy_var_3 -> - ( do { dh <- checkSimpleType happy_var_2;- return (ClsTyFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) dh (fst happy_var_3)) })}}}- ) (\r -> happyReturn (happyIn145 r))--happyReduce_349 = happyReduce 4# 131# happyReduction_349-happyReduction_349 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut107 happy_x_4 of { happy_var_4 -> - happyIn145- (ClsTyDef (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_350 = happyReduce 5# 131# happyReduction_350-happyReduction_350 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut95 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> - case happyOut107 happy_x_5 of { happy_var_5 -> - happyIn145- (ClsTyDef (nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]) happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_351 = happyMonadReduce 3# 131# happyReduction_351-happyReduction_351 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - case happyOut108 happy_x_2 of { happy_var_2 -> - case happyOut140 happy_x_3 of { happy_var_3 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) cs dh (fst happy_var_3)) })}}}- ) (\r -> happyReturn (happyIn145 r))--happyReduce_352 = happyMonadReduce 4# 132# happyReduction_352-happyReduction_352 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut147 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn146 r))--happyReduce_353 = happyMonadReduce 4# 132# happyReduction_353-happyReduction_353 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - case happyOut147 happy_x_3 of { happy_var_3 -> - case happyOut248 happy_x_4 of { happy_var_4 -> - ( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}- ) (\r -> happyReturn (happyIn146 r))--happyReduce_354 = happySpecReduce_0 132# happyReduction_354-happyReduction_354 = happyIn146- ((Nothing, [], Nothing)- )--happyReduce_355 = happyMonadReduce 3# 133# happyReduction_355-happyReduction_355 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut148 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - ( checkRevInstDecls (fst happy_var_2) >>= \is -> return (is, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}}- ) (\r -> happyReturn (happyIn147 r))--happyReduce_356 = happySpecReduce_1 133# happyReduction_356-happyReduction_356 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn147- (([],reverse happy_var_1)- )}--happyReduce_357 = happySpecReduce_3 134# happyReduction_357-happyReduction_357 happy_x_3- happy_x_2- happy_x_1- = case happyOut148 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut149 happy_x_3 of { happy_var_3 -> - happyIn148- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_358 = happySpecReduce_1 134# happyReduction_358-happyReduction_358 happy_x_1- = case happyOut149 happy_x_1 of { happy_var_1 -> - happyIn148- (([happy_var_1],[])- )}--happyReduce_359 = happySpecReduce_1 135# happyReduction_359-happyReduction_359 happy_x_1- = case happyOut151 happy_x_1 of { happy_var_1 -> - happyIn149- (InsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_360 = happyMonadReduce 1# 135# happyReduction_360-happyReduction_360 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - ( checkEnabled TypeFamilies >> return happy_var_1)}- ) (\r -> happyReturn (happyIn149 r))--happyReduce_361 = happySpecReduce_1 135# happyReduction_361-happyReduction_361 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn149- (InsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_362 = happyMonadReduce 1# 135# happyReduction_362-happyReduction_362 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut71 happy_x_1 of { happy_var_1 -> - ( checkEnabled InstanceSigs >> return (InsDecl (ann happy_var_1) happy_var_1))}- ) (\r -> happyReturn (happyIn149 r))--happyReduce_363 = happyMonadReduce 4# 136# happyReduction_363-happyReduction_363 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut107 happy_x_4 of { happy_var_4 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns- return (InsType (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn150 r))--happyReduce_364 = happyMonadReduce 4# 136# happyReduction_364-happyReduction_364 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut107 happy_x_2 of { happy_var_2 -> - case happyOut123 happy_x_3 of { happy_var_3 -> - case happyOut131 happy_x_4 of { happy_var_4 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- let {(ds,ss,minf) = happy_var_3};- checkDataOrNew happy_var_1 ds;- return (InsData (happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn150 r))--happyReduce_365 = happyMonadReduce 5# 136# happyReduction_365-happyReduction_365 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut107 happy_x_2 of { happy_var_2 -> - case happyOut140 happy_x_3 of { happy_var_3 -> - case happyOut119 happy_x_4 of { happy_var_4 -> - case happyOut131 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- let { (gs,ss,minf) = happy_var_4 } ;- checkDataOrNewG happy_var_1 gs;- return $ InsGData (ann happy_var_1 <+?> minf <+?> fmap ann happy_var_5 <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_5 })}}}}}- ) (\r -> happyReturn (happyIn150 r))--happyReduce_366 = happyMonadReduce 4# 137# happyReduction_366-happyReduction_366 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOut153 happy_x_2 of { happy_var_2 -> - case happyOut154 happy_x_3 of { happy_var_3 -> - case happyOut152 happy_x_4 of { happy_var_4 -> - ( checkValDef ((happy_var_1 <> happy_var_3 <+?> (fmap ann) (fst happy_var_4)) <** (snd happy_var_4)) happy_var_1 happy_var_2 happy_var_3 (fst happy_var_4))}}}}- ) (\r -> happyReturn (happyIn151 r))--happyReduce_367 = happyMonadReduce 4# 137# happyReduction_367-happyReduction_367 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut170 happy_x_2 of { happy_var_2 -> - case happyOut154 happy_x_3 of { happy_var_3 -> - case happyOut152 happy_x_4 of { happy_var_4 -> - ( do { checkEnabled BangPatterns ;- let { l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] };- p <- checkPattern (BangPat l happy_var_2);- return $ PatBind (p <> happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** snd happy_var_4)- p happy_var_3 (fst happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn151 r))--happyReduce_368 = happySpecReduce_2 138# happyReduction_368-happyReduction_368 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut79 happy_x_2 of { happy_var_2 -> - happyIn152- ((Just happy_var_2, [happy_var_1])- )}}--happyReduce_369 = happySpecReduce_0 138# happyReduction_369-happyReduction_369 = happyIn152- ((Nothing, [])- )--happyReduce_370 = happyMonadReduce 2# 139# happyReduction_370-happyReduction_370 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut107 happy_x_2 of { happy_var_2 -> - ( checkEnabled ScopedTypeVariables >> return (Just (happy_var_2, happy_var_1)))}}- ) (\r -> happyReturn (happyIn153 r))--happyReduce_371 = happySpecReduce_0 139# happyReduction_371-happyReduction_371 = happyIn153- (Nothing- )--happyReduce_372 = happySpecReduce_2 140# happyReduction_372-happyReduction_372 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - happyIn154- (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_373 = happySpecReduce_1 140# happyReduction_373-happyReduction_373 happy_x_1- = case happyOut155 happy_x_1 of { happy_var_1 -> - happyIn154- (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)- )}--happyReduce_374 = happySpecReduce_2 141# happyReduction_374-happyReduction_374 happy_x_2- happy_x_1- = case happyOut155 happy_x_1 of { happy_var_1 -> - case happyOut156 happy_x_2 of { happy_var_2 -> - happyIn155- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)- )}}--happyReduce_375 = happySpecReduce_1 141# happyReduction_375-happyReduction_375 happy_x_1- = case happyOut156 happy_x_1 of { happy_var_1 -> - happyIn155- (([happy_var_1],ann happy_var_1)- )}--happyReduce_376 = happyMonadReduce 4# 142# happyReduction_376-happyReduction_376 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut194 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut157 happy_x_4 of { happy_var_4 -> - ( do { checkPatternGuards (fst happy_var_2);- return $ GuardedRhs (nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])) (reverse (fst happy_var_2)) happy_var_4 })}}}}- ) (\r -> happyReturn (happyIn156 r))--happyReduce_377 = happyMonadReduce 1# 143# happyReduction_377-happyReduction_377 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> - ( checkExpr happy_var_1)}- ) (\r -> happyReturn (happyIn157 r))--happyReduce_378 = happySpecReduce_3 144# happyReduction_378-happyReduction_378 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - happyIn158- (ExpTypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_379 = happySpecReduce_1 144# happyReduction_379-happyReduction_379 happy_x_1- = case happyOut159 happy_x_1 of { happy_var_1 -> - happyIn158- (happy_var_1- )}--happyReduce_380 = happySpecReduce_2 144# happyReduction_380-happyReduction_380 happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOut230 happy_x_2 of { happy_var_2 -> - happyIn158- (PostOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_381 = happySpecReduce_3 144# happyReduction_381-happyReduction_381 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrowTail) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn158- (LeftArrApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_382 = happySpecReduce_3 144# happyReduction_382-happyReduction_382 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrowTail) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn158- (RightArrApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_383 = happySpecReduce_3 144# happyReduction_383-happyReduction_383 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftDblArrowTail) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn158- (LeftArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_384 = happySpecReduce_3 144# happyReduction_384-happyReduction_384 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightDblArrowTail) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn158- (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_385 = happySpecReduce_1 145# happyReduction_385-happyReduction_385 happy_x_1- = case happyOut160 happy_x_1 of { happy_var_1 -> - happyIn159- (happy_var_1- )}--happyReduce_386 = happySpecReduce_1 145# happyReduction_386-happyReduction_386 happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - happyIn159- (happy_var_1- )}--happyReduce_387 = happySpecReduce_3 146# happyReduction_387-happyReduction_387 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOut230 happy_x_2 of { happy_var_2 -> - case happyOut162 happy_x_3 of { happy_var_3 -> - happyIn160- (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_388 = happySpecReduce_1 146# happyReduction_388-happyReduction_388 happy_x_1- = case happyOut162 happy_x_1 of { happy_var_1 -> - happyIn160- (happy_var_1- )}--happyReduce_389 = happySpecReduce_3 147# happyReduction_389-happyReduction_389 happy_x_3- happy_x_2- happy_x_1- = case happyOut161 happy_x_1 of { happy_var_1 -> - case happyOut230 happy_x_2 of { happy_var_2 -> - case happyOut165 happy_x_3 of { happy_var_3 -> - happyIn161- (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_390 = happySpecReduce_1 147# happyReduction_390-happyReduction_390 happy_x_1- = case happyOut165 happy_x_1 of { happy_var_1 -> - happyIn161- (happy_var_1- )}--happyReduce_391 = happyReduce 4# 148# happyReduction_391-happyReduction_391 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> - case happyOut168 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut158 happy_x_4 of { happy_var_4 -> - happyIn162- (Lambda (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (reverse happy_var_2) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_392 = happyReduce 4# 148# happyReduction_392-happyReduction_392 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut79 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_In) -> - case happyOut158 happy_x_4 of { happy_var_4 -> - happyIn162- (Let (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_393 = happyReduce 8# 148# happyReduction_393-happyReduction_393 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - case happyOut158 happy_x_2 of { happy_var_2 -> - case happyOut163 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Then) -> - case happyOut158 happy_x_5 of { happy_var_5 -> - case happyOut163 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { (Loc happy_var_7 KW_Else) -> - case happyOut158 happy_x_8 of { happy_var_8 -> - happyIn162- (If (nIS happy_var_1 <++> ann happy_var_8 <** (happy_var_1:happy_var_3 ++ happy_var_4:happy_var_6 ++ [happy_var_7])) happy_var_2 happy_var_5 happy_var_8- ) `HappyStk` happyRest}}}}}}}}--happyReduce_394 = happyMonadReduce 2# 148# happyReduction_394-happyReduction_394 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - case happyOut205 happy_x_2 of { happy_var_2 -> - ( checkEnabled MultiWayIf >>- let (alts, inf, ss) = happy_var_2- in return (MultiIf (nIS happy_var_1 <++> inf <** (happy_var_1:ss)) alts))}}- ) (\r -> happyReturn (happyIn162 r))--happyReduce_395 = happyReduce 4# 148# happyReduction_395-happyReduction_395 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> - case happyOut169 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut158 happy_x_4 of { happy_var_4 -> - happyIn162- (Proc (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_396 = happySpecReduce_1 148# happyReduction_396-happyReduction_396 happy_x_1- = case happyOut166 happy_x_1 of { happy_var_1 -> - happyIn162- (happy_var_1- )}--happyReduce_397 = happyMonadReduce 1# 149# happyReduction_397-happyReduction_397 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - ( checkEnabled DoAndIfThenElse >> return [happy_var_1])}- ) (\r -> happyReturn (happyIn163 r))--happyReduce_398 = happySpecReduce_0 149# happyReduction_398-happyReduction_398 = happyIn163- ([]- )--happyReduce_399 = happySpecReduce_1 150# happyReduction_399-happyReduction_399 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - happyIn164- ([happy_var_1]- )}--happyReduce_400 = happySpecReduce_0 150# happyReduction_400-happyReduction_400 = happyIn164- ([]- )--happyReduce_401 = happyReduce 4# 151# happyReduction_401-happyReduction_401 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> - case happyOut158 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> - case happyOut197 happy_x_4 of { happy_var_4 -> - happyIn165- (let (als, inf, ss) = happy_var_4 in Case (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_3:ss)) happy_var_2 als- ) `HappyStk` happyRest}}}}--happyReduce_402 = happyMonadReduce 3# 151# happyReduction_402-happyReduction_402 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Case) -> - case happyOut197 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled LambdaCase ;- let { (als, inf, ss) = happy_var_3 } ;- return (LCase (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_2:ss)) als) })}}}- ) (\r -> happyReturn (happyIn165 r))--happyReduce_403 = happySpecReduce_2 151# happyReduction_403-happyReduction_403 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - case happyOut167 happy_x_2 of { happy_var_2 -> - happyIn165- (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_404 = happySpecReduce_2 151# happyReduction_404-happyReduction_404 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> - case happyOut208 happy_x_2 of { happy_var_2 -> - happyIn165- (let (sts, inf, ss) = happy_var_2 in Do (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts- )}}--happyReduce_405 = happySpecReduce_2 151# happyReduction_405-happyReduction_405 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> - case happyOut208 happy_x_2 of { happy_var_2 -> - happyIn165- (let (sts, inf, ss) = happy_var_2 in MDo (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts- )}}--happyReduce_406 = happySpecReduce_1 151# happyReduction_406-happyReduction_406 happy_x_1- = case happyOut167 happy_x_1 of { happy_var_1 -> - happyIn165- (happy_var_1- )}--happyReduce_407 = happyReduce 4# 152# happyReduction_407-happyReduction_407 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 CORE) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOut158 happy_x_4 of { happy_var_4 -> - happyIn166- (let Loc l (StringTok (s,_)) = happy_var_2 in CorePragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_408 = happyReduce 4# 152# happyReduction_408-happyReduction_408 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SCC) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOut158 happy_x_4 of { happy_var_4 -> - happyIn166- (let Loc l (StringTok (s,_)) = happy_var_2 in SCCPragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_409 = happyReduce 11# 152# happyReduction_409-happyReduction_409 (happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 GENERATED) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Colon) -> - case happyOutTok happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 Minus) -> - case happyOutTok happy_x_7 of { happy_var_7 -> - case happyOutTok happy_x_8 of { (Loc happy_var_8 Colon) -> - case happyOutTok happy_x_9 of { happy_var_9 -> - case happyOutTok happy_x_10 of { (Loc happy_var_10 PragmaEnd) -> - case happyOut158 happy_x_11 of { happy_var_11 -> - happyIn166- (let { Loc l0 (StringTok (s,_)) = happy_var_2;- Loc l1 (IntTok (i1,_)) = happy_var_3;- Loc l2 (IntTok (i2,_)) = happy_var_5;- Loc l3 (IntTok (i3,_)) = happy_var_7;- Loc l4 (IntTok (i4,_)) = happy_var_9}- in GenPragma (nIS happy_var_1 <++> ann happy_var_11 <** [happy_var_1,l0,l1,happy_var_4,l2,happy_var_6,l3,happy_var_8,l4,happy_var_10])- s (fromInteger i1, fromInteger i2)- (fromInteger i3, fromInteger i4) happy_var_11- ) `HappyStk` happyRest}}}}}}}}}}}--happyReduce_410 = happySpecReduce_2 153# happyReduction_410-happyReduction_410 happy_x_2- happy_x_1- = case happyOut167 happy_x_1 of { happy_var_1 -> - case happyOut170 happy_x_2 of { happy_var_2 -> - happyIn167- (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_411 = happySpecReduce_1 153# happyReduction_411-happyReduction_411 happy_x_1- = case happyOut170 happy_x_1 of { happy_var_1 -> - happyIn167- (happy_var_1- )}--happyReduce_412 = happySpecReduce_2 154# happyReduction_412-happyReduction_412 happy_x_2- happy_x_1- = case happyOut168 happy_x_1 of { happy_var_1 -> - case happyOut169 happy_x_2 of { happy_var_2 -> - happyIn168- (happy_var_2 : happy_var_1- )}}--happyReduce_413 = happySpecReduce_1 154# happyReduction_413-happyReduction_413 happy_x_1- = case happyOut169 happy_x_1 of { happy_var_1 -> - happyIn168- ([happy_var_1]- )}--happyReduce_414 = happyMonadReduce 1# 155# happyReduction_414-happyReduction_414 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut170 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)}- ) (\r -> happyReturn (happyIn169 r))--happyReduce_415 = happyMonadReduce 2# 155# happyReduction_415-happyReduction_415 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut170 happy_x_2 of { happy_var_2 -> - ( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}}- ) (\r -> happyReturn (happyIn169 r))--happyReduce_416 = happyMonadReduce 3# 156# happyReduction_416-happyReduction_416 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 At) -> - case happyOut170 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1;- return (AsPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}}- ) (\r -> happyReturn (happyIn170 r))--happyReduce_417 = happyMonadReduce 3# 156# happyReduction_417-happyReduction_417 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RPCAt) -> - case happyOut170 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1;- return (CAsRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}}- ) (\r -> happyReturn (happyIn170 r))--happyReduce_418 = happySpecReduce_2 156# happyReduction_418-happyReduction_418 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> - case happyOut170 happy_x_2 of { happy_var_2 -> - happyIn170- (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_419 = happySpecReduce_1 156# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut171 happy_x_1 of { happy_var_1 -> - happyIn170- (happy_var_1- )}--happyReduce_420 = happyMonadReduce 3# 157# happyReduction_420-happyReduction_420 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - ( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]))) $ mkRecConstrOrUpdate happy_var_1 [])}}}- ) (\r -> happyReturn (happyIn171 r))--happyReduce_421 = happyMonadReduce 4# 157# happyReduction_421-happyReduction_421 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut212 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:snd happy_var_3 ++ [happy_var_4]))))- $ mkRecConstrOrUpdate happy_var_1 (fst happy_var_3))}}}}- ) (\r -> happyReturn (happyIn171 r))--happyReduce_422 = happySpecReduce_1 157# happyReduction_422-happyReduction_422 happy_x_1- = case happyOut172 happy_x_1 of { happy_var_1 -> - happyIn171- (happy_var_1- )}--happyReduce_423 = happySpecReduce_1 158# happyReduction_423-happyReduction_423 happy_x_1- = case happyOut221 happy_x_1 of { happy_var_1 -> - happyIn172- (IPVar (ann happy_var_1) happy_var_1- )}--happyReduce_424 = happySpecReduce_1 158# happyReduction_424-happyReduction_424 happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - happyIn172- (Var (ann happy_var_1) happy_var_1- )}--happyReduce_425 = happySpecReduce_1 158# happyReduction_425-happyReduction_425 happy_x_1- = case happyOut217 happy_x_1 of { happy_var_1 -> - happyIn172- (happy_var_1- )}--happyReduce_426 = happySpecReduce_1 158# happyReduction_426-happyReduction_426 happy_x_1- = case happyOut246 happy_x_1 of { happy_var_1 -> - happyIn172- (Lit (ann happy_var_1) happy_var_1- )}--happyReduce_427 = happySpecReduce_3 158# happyReduction_427-happyReduction_427 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn172- (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_428 = happySpecReduce_3 158# happyReduction_428-happyReduction_428 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn172- (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Boxed (Just happy_var_2 : fst happy_var_3)- )}}}--happyReduce_429 = happyReduce 4# 158# happyReduction_429-happyReduction_429 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn172- (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Boxed- (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_430 = happyReduce 4# 158# happyReduction_430-happyReduction_430 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOut175 happy_x_4 of { happy_var_4 -> - happyIn172- (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Boxed- (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_431 = happySpecReduce_3 158# happyReduction_431-happyReduction_431 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOut176 happy_x_3 of { happy_var_3 -> - happyIn172- (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Unboxed (Just happy_var_2 : fst happy_var_3)- )}}}--happyReduce_432 = happySpecReduce_3 158# happyReduction_432-happyReduction_432 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn172- (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]- )}}}--happyReduce_433 = happyReduce 4# 158# happyReduction_433-happyReduction_433 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightHashParen) -> - happyIn172- (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Unboxed- (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_434 = happyReduce 4# 158# happyReduction_434-happyReduction_434 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOut174 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - happyIn172- (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Unboxed- (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_435 = happySpecReduce_3 158# happyReduction_435-happyReduction_435 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut188 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn172- (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])- )}}}--happyReduce_436 = happySpecReduce_3 158# happyReduction_436-happyReduction_436 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> - case happyOut196 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> - happyIn172- (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])- )}}}--happyReduce_437 = happySpecReduce_1 158# happyReduction_437-happyReduction_437 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn172- (WildCard (nIS happy_var_1)- )}--happyReduce_438 = happyMonadReduce 3# 158# happyReduction_438-happyReduction_438 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut178 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - ( checkEnabled RegularPatterns >> return (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2))}}}- ) (\r -> happyReturn (happyIn172 r))--happyReduce_439 = happySpecReduce_3 158# happyReduction_439-happyReduction_439 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> - case happyOut177 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RPGuardClose) -> - happyIn172- (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_440 = happyReduce 5# 158# happyReduction_440-happyReduction_440 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> - case happyOut158 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Bar) -> - case happyOut194 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RPGuardClose) -> - happyIn172- (GuardRP (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3 : snd happy_var_4 ++ [happy_var_5])) happy_var_2 $ (reverse $ fst happy_var_4)- ) `HappyStk` happyRest}}}}}--happyReduce_441 = happySpecReduce_1 158# happyReduction_441-happyReduction_441 happy_x_1- = case happyOut179 happy_x_1 of { happy_var_1 -> - happyIn172- (happy_var_1- )}--happyReduce_442 = happySpecReduce_1 158# happyReduction_442-happyReduction_442 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn172- (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s- )}--happyReduce_443 = happySpecReduce_3 158# happyReduction_443-happyReduction_443 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn172- (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in SpliceExp l $ ParenSplice l happy_var_2- )}}}--happyReduce_444 = happySpecReduce_3 158# happyReduction_444-happyReduction_444 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THExpQuote) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - happyIn172- (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in BracketExp l $ ExpBracket l happy_var_2- )}}}--happyReduce_445 = happyMonadReduce 3# 158# happyReduction_445-happyReduction_445 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 THPatQuote) -> - case happyOut159 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - ( do { p <- checkPattern happy_var_2;- let {l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) };- return $ BracketExp l $ PatBracket l p })}}}- ) (\r -> happyReturn (happyIn172 r))--happyReduce_446 = happySpecReduce_3 158# happyReduction_446-happyReduction_446 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTypQuote) -> - case happyOut107 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - happyIn172- (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2- )}}}--happyReduce_447 = happyReduce 5# 158# happyReduction_447-happyReduction_447 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THDecQuote) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - case happyOut248 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 THCloseQuote) -> - happyIn172- (let l = happy_var_1 <^^> happy_var_5 <** (happy_var_1:snd happy_var_3 ++ [happy_var_5])- in BracketExp l $ DeclBracket (happy_var_1 <^^> happy_var_5 <** (happy_var_2:snd happy_var_3 ++ [happy_var_4,happy_var_5])) (fst happy_var_3)- ) `HappyStk` happyRest}}}}}--happyReduce_448 = happySpecReduce_2 158# happyReduction_448-happyReduction_448 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut220 happy_x_2 of { happy_var_2 -> - happyIn172- (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_449 = happySpecReduce_2 158# happyReduction_449-happyReduction_449 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut223 happy_x_2 of { happy_var_2 -> - happyIn172- (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_450 = happySpecReduce_2 158# happyReduction_450-happyReduction_450 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> - case happyOut259 happy_x_2 of { happy_var_2 -> - happyIn172- (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)- )}}--happyReduce_451 = happySpecReduce_2 158# happyReduction_451-happyReduction_451 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> - case happyOut104 happy_x_2 of { happy_var_2 -> - happyIn172- (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_452 = happySpecReduce_1 158# happyReduction_452-happyReduction_452 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn172- (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q- )}--happyReduce_453 = happySpecReduce_2 159# happyReduction_453-happyReduction_453 happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - happyIn173- (happy_var_2 : happy_var_1- )}}--happyReduce_454 = happySpecReduce_1 159# happyReduction_454-happyReduction_454 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> - happyIn173- ([happy_var_1]- )}--happyReduce_455 = happySpecReduce_1 160# happyReduction_455-happyReduction_455 happy_x_1- = case happyOut158 happy_x_1 of { happy_var_1 -> - happyIn174- (happy_var_1- )}--happyReduce_456 = happySpecReduce_2 160# happyReduction_456-happyReduction_456 happy_x_2- happy_x_1- = case happyOut231 happy_x_1 of { happy_var_1 -> - case happyOut159 happy_x_2 of { happy_var_2 -> - happyIn174- (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_457 = happyMonadReduce 3# 160# happyReduction_457-happyReduction_457 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut204 happy_x_3 of { happy_var_3 -> - ( do {checkEnabled ViewPatterns;- return $ ViewPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3})}}}- ) (\r -> happyReturn (happyIn174 r))--happyReduce_458 = happySpecReduce_3 161# happyReduction_458-happyReduction_458 happy_x_3- happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn175- (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)- )}}}--happyReduce_459 = happySpecReduce_3 161# happyReduction_459-happyReduction_459 happy_x_3- happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn175- ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)- )}}}--happyReduce_460 = happySpecReduce_2 161# happyReduction_460-happyReduction_460 happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn175- ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)- )}}--happyReduce_461 = happySpecReduce_3 162# happyReduction_461-happyReduction_461 happy_x_3- happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOut176 happy_x_3 of { happy_var_3 -> - happyIn176- (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)- )}}}--happyReduce_462 = happySpecReduce_3 162# happyReduction_462-happyReduction_462 happy_x_3- happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn176- ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)- )}}}--happyReduce_463 = happySpecReduce_2 162# happyReduction_463-happyReduction_463 happy_x_2- happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn176- ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)- )}}--happyReduce_464 = happySpecReduce_3 163# happyReduction_464-happyReduction_464 happy_x_3- happy_x_2- happy_x_1- = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn177- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_465 = happySpecReduce_1 163# happyReduction_465-happyReduction_465 happy_x_1- = case happyOut158 happy_x_1 of { happy_var_1 -> - happyIn177- (([happy_var_1],[])- )}--happyReduce_466 = happySpecReduce_3 164# happyReduction_466-happyReduction_466 happy_x_3- happy_x_2- happy_x_1- = case happyOut158 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut178 happy_x_3 of { happy_var_3 -> - happyIn178- (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_467 = happySpecReduce_3 164# happyReduction_467-happyReduction_467 happy_x_3- happy_x_2- happy_x_1- = case happyOut158 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn178- (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_468 = happyMonadReduce 10# 165# happyReduction_468-happyReduction_468 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut182 happy_x_2 of { happy_var_2 -> - case happyOut185 happy_x_3 of { happy_var_3 -> - case happyOut187 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> - case happyOut180 happy_x_6 of { happy_var_6 -> - case happyOut164 happy_x_7 of { happy_var_7 -> - case happyOutTok happy_x_8 of { (Loc happy_var_8 XCloseTagOpen) -> - case happyOut182 happy_x_9 of { happy_var_9 -> - case happyOutTok happy_x_10 of { (Loc happy_var_10 XStdTagClose) -> - ( do { n <- checkEqNames happy_var_2 happy_var_9;- let { cn = reverse happy_var_6;- as = reverse happy_var_3;- l = happy_var_1 <^^> happy_var_10 <** [happy_var_1,happy_var_5] ++ happy_var_7 ++ [happy_var_8,srcInfoSpan (ann happy_var_9),happy_var_10] };- return $ XTag l n as happy_var_4 cn })}}}}}}}}}}- ) (\r -> happyReturn (happyIn179 r))--happyReduce_469 = happyReduce 5# 165# happyReduction_469-happyReduction_469 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut182 happy_x_2 of { happy_var_2 -> - case happyOut185 happy_x_3 of { happy_var_3 -> - case happyOut187 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> - happyIn179- (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_470 = happySpecReduce_3 165# happyReduction_470-happyReduction_470 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XCodeTagOpen) -> - case happyOut158 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 XCodeTagClose) -> - happyIn179- (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_471 = happyReduce 5# 165# happyReduction_471-happyReduction_471 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XChildTagOpen) -> - case happyOut180 happy_x_2 of { happy_var_2 -> - case happyOut164 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 XCloseTagOpen) -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XCodeTagClose) -> - happyIn179- (XChildTag (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3++[happy_var_4,happy_var_5])) (reverse happy_var_2)- ) `HappyStk` happyRest}}}}}--happyReduce_472 = happySpecReduce_2 166# happyReduction_472-happyReduction_472 happy_x_2- happy_x_1- = case happyOut180 happy_x_1 of { happy_var_1 -> - case happyOut181 happy_x_2 of { happy_var_2 -> - happyIn180- (happy_var_2 : happy_var_1- )}}--happyReduce_473 = happySpecReduce_0 166# happyReduction_473-happyReduction_473 = happyIn180- ([]- )--happyReduce_474 = happySpecReduce_1 167# happyReduction_474-happyReduction_474 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn181- (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd- )}--happyReduce_475 = happySpecReduce_3 167# happyReduction_475-happyReduction_475 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XRPatOpen) -> - case happyOut177 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 XRPatClose) -> - happyIn181- (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_476 = happySpecReduce_1 167# happyReduction_476-happyReduction_476 happy_x_1- = case happyOut179 happy_x_1 of { happy_var_1 -> - happyIn181- (happy_var_1- )}--happyReduce_477 = happySpecReduce_3 168# happyReduction_477-happyReduction_477 happy_x_3- happy_x_2- happy_x_1- = case happyOut183 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Colon) -> - case happyOut183 happy_x_3 of { happy_var_3 -> - happyIn182- (let {Loc l1 s1 = happy_var_1; Loc l2 s2 = happy_var_3}- in XDomName (nIS l1 <++> nIS l2 <** [l1,happy_var_2,l2]) s1 s2- )}}}--happyReduce_478 = happySpecReduce_1 168# happyReduction_478-happyReduction_478 happy_x_1- = case happyOut183 happy_x_1 of { happy_var_1 -> - happyIn182- (let Loc l str = happy_var_1 in XName (nIS l) str- )}--happyReduce_479 = happySpecReduce_1 169# happyReduction_479-happyReduction_479 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn183- (let Loc l (VarId s) = happy_var_1 in Loc l s- )}--happyReduce_480 = happySpecReduce_1 169# happyReduction_480-happyReduction_480 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn183- (let Loc l (ConId s) = happy_var_1 in Loc l s- )}--happyReduce_481 = happySpecReduce_1 169# happyReduction_481-happyReduction_481 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn183- (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s- )}--happyReduce_482 = happySpecReduce_1 169# happyReduction_482-happyReduction_482 happy_x_1- = case happyOut184 happy_x_1 of { happy_var_1 -> - happyIn183- (happy_var_1- )}--happyReduce_483 = happySpecReduce_1 170# happyReduction_483-happyReduction_483 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - happyIn184- (Loc happy_var_1 "type"- )}--happyReduce_484 = happySpecReduce_1 170# happyReduction_484-happyReduction_484 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> - happyIn184- (Loc happy_var_1 "class"- )}--happyReduce_485 = happySpecReduce_1 170# happyReduction_485-happyReduction_485 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - happyIn184- (Loc happy_var_1 "data"- )}--happyReduce_486 = happySpecReduce_1 170# happyReduction_486-happyReduction_486 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - happyIn184- (Loc happy_var_1 "foreign"- )}--happyReduce_487 = happySpecReduce_1 170# happyReduction_487-happyReduction_487 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> - happyIn184- (Loc happy_var_1 "export"- )}--happyReduce_488 = happySpecReduce_1 170# happyReduction_488-happyReduction_488 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn184- (Loc happy_var_1 "safe"- )}--happyReduce_489 = happySpecReduce_1 170# happyReduction_489-happyReduction_489 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn184- (Loc happy_var_1 "unsafe"- )}--happyReduce_490 = happySpecReduce_1 170# happyReduction_490-happyReduction_490 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn184- (Loc happy_var_1 "interruptible"- )}--happyReduce_491 = happySpecReduce_1 170# happyReduction_491-happyReduction_491 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn184- (Loc happy_var_1 "threadsafe"- )}--happyReduce_492 = happySpecReduce_1 170# happyReduction_492-happyReduction_492 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn184- (Loc happy_var_1 "stdcall"- )}--happyReduce_493 = happySpecReduce_1 170# happyReduction_493-happyReduction_493 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn184- (Loc happy_var_1 "ccall"- )}--happyReduce_494 = happySpecReduce_1 170# happyReduction_494-happyReduction_494 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn184- (Loc happy_var_1 "cplusplus"- )}--happyReduce_495 = happySpecReduce_1 170# happyReduction_495-happyReduction_495 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn184- (Loc happy_var_1 "dotnet"- )}--happyReduce_496 = happySpecReduce_1 170# happyReduction_496-happyReduction_496 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn184- (Loc happy_var_1 "jvm"- )}--happyReduce_497 = happySpecReduce_1 170# happyReduction_497-happyReduction_497 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn184- (Loc happy_var_1 "js"- )}--happyReduce_498 = happySpecReduce_1 170# happyReduction_498-happyReduction_498 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> - happyIn184- (Loc happy_var_1 "javascript"- )}--happyReduce_499 = happySpecReduce_1 170# happyReduction_499-happyReduction_499 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn184- (Loc happy_var_1 "capi"- )}--happyReduce_500 = happySpecReduce_1 170# happyReduction_500-happyReduction_500 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - happyIn184- (Loc happy_var_1 "as"- )}--happyReduce_501 = happySpecReduce_1 170# happyReduction_501-happyReduction_501 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_By) -> - happyIn184- (Loc happy_var_1 "by"- )}--happyReduce_502 = happySpecReduce_1 170# happyReduction_502-happyReduction_502 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> - happyIn184- (Loc happy_var_1 "case"- )}--happyReduce_503 = happySpecReduce_1 170# happyReduction_503-happyReduction_503 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - happyIn184- (Loc happy_var_1 "default"- )}--happyReduce_504 = happySpecReduce_1 170# happyReduction_504-happyReduction_504 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - happyIn184- (Loc happy_var_1 "deriving"- )}--happyReduce_505 = happySpecReduce_1 170# happyReduction_505-happyReduction_505 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> - happyIn184- (Loc happy_var_1 "do"- )}--happyReduce_506 = happySpecReduce_1 170# happyReduction_506-happyReduction_506 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Else) -> - happyIn184- (Loc happy_var_1 "else"- )}--happyReduce_507 = happySpecReduce_1 170# happyReduction_507-happyReduction_507 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn184- (Loc happy_var_1 "family"- )}--happyReduce_508 = happySpecReduce_1 170# happyReduction_508-happyReduction_508 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - happyIn184- (Loc happy_var_1 "forall"- )}--happyReduce_509 = happySpecReduce_1 170# happyReduction_509-happyReduction_509 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Group) -> - happyIn184- (Loc happy_var_1 "group"- )}--happyReduce_510 = happySpecReduce_1 170# happyReduction_510-happyReduction_510 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn184- (Loc happy_var_1 "hiding"- )}--happyReduce_511 = happySpecReduce_1 170# happyReduction_511-happyReduction_511 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - happyIn184- (Loc happy_var_1 "if"- )}--happyReduce_512 = happySpecReduce_1 170# happyReduction_512-happyReduction_512 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> - happyIn184- (Loc happy_var_1 "import"- )}--happyReduce_513 = happySpecReduce_1 170# happyReduction_513-happyReduction_513 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_In) -> - happyIn184- (Loc happy_var_1 "in"- )}--happyReduce_514 = happySpecReduce_1 170# happyReduction_514-happyReduction_514 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> - happyIn184- (Loc happy_var_1 "infix"- )}--happyReduce_515 = happySpecReduce_1 170# happyReduction_515-happyReduction_515 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> - happyIn184- (Loc happy_var_1 "infixl"- )}--happyReduce_516 = happySpecReduce_1 170# happyReduction_516-happyReduction_516 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> - happyIn184- (Loc happy_var_1 "infixr"- )}--happyReduce_517 = happySpecReduce_1 170# happyReduction_517-happyReduction_517 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> - happyIn184- (Loc happy_var_1 "instance"- )}--happyReduce_518 = happySpecReduce_1 170# happyReduction_518-happyReduction_518 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - happyIn184- (Loc happy_var_1 "let"- )}--happyReduce_519 = happySpecReduce_1 170# happyReduction_519-happyReduction_519 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> - happyIn184- (Loc happy_var_1 "mdo"- )}--happyReduce_520 = happySpecReduce_1 170# happyReduction_520-happyReduction_520 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - happyIn184- (Loc happy_var_1 "module"- )}--happyReduce_521 = happySpecReduce_1 170# happyReduction_521-happyReduction_521 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - happyIn184- (Loc happy_var_1 "newtype"- )}--happyReduce_522 = happySpecReduce_1 170# happyReduction_522-happyReduction_522 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Of) -> - happyIn184- (Loc happy_var_1 "of"- )}--happyReduce_523 = happySpecReduce_1 170# happyReduction_523-happyReduction_523 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> - happyIn184- (Loc happy_var_1 "proc"- )}--happyReduce_524 = happySpecReduce_1 170# happyReduction_524-happyReduction_524 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> - happyIn184- (Loc happy_var_1 "rec"- )}--happyReduce_525 = happySpecReduce_1 170# happyReduction_525-happyReduction_525 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - happyIn184- (Loc happy_var_1 "then"- )}--happyReduce_526 = happySpecReduce_1 170# happyReduction_526-happyReduction_526 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Using) -> - happyIn184- (Loc happy_var_1 "using"- )}--happyReduce_527 = happySpecReduce_1 170# happyReduction_527-happyReduction_527 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - happyIn184- (Loc happy_var_1 "where"- )}--happyReduce_528 = happySpecReduce_1 170# happyReduction_528-happyReduction_528 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn184- (Loc happy_var_1 "qualified"- )}--happyReduce_529 = happySpecReduce_2 171# happyReduction_529-happyReduction_529 happy_x_2- happy_x_1- = case happyOut185 happy_x_1 of { happy_var_1 -> - case happyOut186 happy_x_2 of { happy_var_2 -> - happyIn185- (happy_var_2 : happy_var_1- )}}--happyReduce_530 = happySpecReduce_0 171# happyReduction_530-happyReduction_530 = happyIn185- ([]- )--happyReduce_531 = happySpecReduce_3 172# happyReduction_531-happyReduction_531 happy_x_3- happy_x_2- happy_x_1- = case happyOut182 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut170 happy_x_3 of { happy_var_3 -> - happyIn186- (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_532 = happySpecReduce_1 173# happyReduction_532-happyReduction_532 happy_x_1- = case happyOut170 happy_x_1 of { happy_var_1 -> - happyIn187- (Just happy_var_1- )}--happyReduce_533 = happySpecReduce_0 173# happyReduction_533-happyReduction_533 = happyIn187- (Nothing- )--happyReduce_534 = happySpecReduce_1 174# happyReduction_534-happyReduction_534 happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - happyIn188- (\l -> List l [happy_var_1]- )}--happyReduce_535 = happySpecReduce_1 174# happyReduction_535-happyReduction_535 happy_x_1- = case happyOut189 happy_x_1 of { happy_var_1 -> - happyIn188- (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)- )}--happyReduce_536 = happySpecReduce_2 174# happyReduction_536-happyReduction_536 happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - happyIn188- (\l -> EnumFrom (l <** [happy_var_2]) happy_var_1- )}}--happyReduce_537 = happyReduce 4# 174# happyReduction_537-happyReduction_537 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - happyIn188- (\l -> EnumFromThen (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_538 = happySpecReduce_3 174# happyReduction_538-happyReduction_538 happy_x_3- happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn188- (\l -> EnumFromTo (l <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_539 = happyReduce 5# 174# happyReduction_539-happyReduction_539 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - case happyOut158 happy_x_5 of { happy_var_5 -> - happyIn188- (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_540 = happySpecReduce_3 174# happyReduction_540-happyReduction_540 happy_x_3- happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut190 happy_x_3 of { happy_var_3 -> - happyIn188- (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)- )}}}--happyReduce_541 = happySpecReduce_3 175# happyReduction_541-happyReduction_541 happy_x_3- happy_x_2- happy_x_1- = case happyOut189 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut174 happy_x_3 of { happy_var_3 -> - happyIn189- (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)- )}}}--happyReduce_542 = happySpecReduce_3 175# happyReduction_542-happyReduction_542 happy_x_3- happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut174 happy_x_3 of { happy_var_3 -> - happyIn189- (([happy_var_3,happy_var_1], [happy_var_2])- )}}}--happyReduce_543 = happySpecReduce_3 176# happyReduction_543-happyReduction_543 happy_x_3- happy_x_2- happy_x_1- = case happyOut190 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut191 happy_x_3 of { happy_var_3 -> - happyIn190- (let { (stss, ss1) = happy_var_1;- (sts, ss2) = happy_var_3 }- in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)- )}}}--happyReduce_544 = happySpecReduce_1 176# happyReduction_544-happyReduction_544 happy_x_1- = case happyOut191 happy_x_1 of { happy_var_1 -> - happyIn190- (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)- )}--happyReduce_545 = happySpecReduce_3 177# happyReduction_545-happyReduction_545 happy_x_3- happy_x_2- happy_x_1- = case happyOut191 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut192 happy_x_3 of { happy_var_3 -> - happyIn191- (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)- )}}}--happyReduce_546 = happySpecReduce_1 177# happyReduction_546-happyReduction_546 happy_x_1- = case happyOut192 happy_x_1 of { happy_var_1 -> - happyIn191- (([happy_var_1],[])- )}--happyReduce_547 = happySpecReduce_1 178# happyReduction_547-happyReduction_547 happy_x_1- = case happyOut193 happy_x_1 of { happy_var_1 -> - happyIn192- (happy_var_1- )}--happyReduce_548 = happySpecReduce_1 178# happyReduction_548-happyReduction_548 happy_x_1- = case happyOut195 happy_x_1 of { happy_var_1 -> - happyIn192- (QualStmt (ann happy_var_1) happy_var_1- )}--happyReduce_549 = happySpecReduce_2 179# happyReduction_549-happyReduction_549 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - happyIn193- (ThenTrans (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_550 = happyReduce 4# 179# happyReduction_550-happyReduction_550 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut157 happy_x_4 of { happy_var_4 -> - happyIn193- (ThenBy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_551 = happyReduce 4# 179# happyReduction_551-happyReduction_551 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut157 happy_x_4 of { happy_var_4 -> - happyIn193- (GroupBy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_552 = happyReduce 4# 179# happyReduction_552-happyReduction_552 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Using) -> - case happyOut157 happy_x_4 of { happy_var_4 -> - happyIn193- (GroupUsing (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_553 = happyReduce 6# 179# happyReduction_553-happyReduction_553 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut157 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Using) -> - case happyOut157 happy_x_6 of { happy_var_6 -> - happyIn193- (GroupByUsing (nIS happy_var_1 <++> ann happy_var_6 <** [happy_var_1,happy_var_2,happy_var_3,happy_var_5]) happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}}}--happyReduce_554 = happySpecReduce_3 180# happyReduction_554-happyReduction_554 happy_x_3- happy_x_2- happy_x_1- = case happyOut194 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut195 happy_x_3 of { happy_var_3 -> - happyIn194- (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)- )}}}--happyReduce_555 = happySpecReduce_1 180# happyReduction_555-happyReduction_555 happy_x_1- = case happyOut195 happy_x_1 of { happy_var_1 -> - happyIn194- (([happy_var_1],[])- )}--happyReduce_556 = happySpecReduce_3 181# happyReduction_556-happyReduction_556 happy_x_3- happy_x_2- happy_x_1- = case happyOut204 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> - case happyOut157 happy_x_3 of { happy_var_3 -> - happyIn195- (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_557 = happySpecReduce_1 181# happyReduction_557-happyReduction_557 happy_x_1- = case happyOut157 happy_x_1 of { happy_var_1 -> - happyIn195- (Qualifier (ann happy_var_1) happy_var_1- )}--happyReduce_558 = happySpecReduce_2 181# happyReduction_558-happyReduction_558 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut79 happy_x_2 of { happy_var_2 -> - happyIn195- (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_559 = happySpecReduce_0 182# happyReduction_559-happyReduction_559 = happyIn196- (\l -> ParArray l []- )--happyReduce_560 = happySpecReduce_1 182# happyReduction_560-happyReduction_560 happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - happyIn196- (\l -> ParArray l [happy_var_1]- )}--happyReduce_561 = happySpecReduce_1 182# happyReduction_561-happyReduction_561 happy_x_1- = case happyOut189 happy_x_1 of { happy_var_1 -> - happyIn196- (\l -> let (ps,ss) = happy_var_1 in ParArray (l <** reverse ss) (reverse ps)- )}--happyReduce_562 = happySpecReduce_3 182# happyReduction_562-happyReduction_562 happy_x_3- happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn196- (\l -> ParArrayFromTo (l <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_563 = happyReduce 5# 182# happyReduction_563-happyReduction_563 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - case happyOut158 happy_x_5 of { happy_var_5 -> - happyIn196- (\l -> ParArrayFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_564 = happySpecReduce_3 182# happyReduction_564-happyReduction_564 happy_x_3- happy_x_2- happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut190 happy_x_3 of { happy_var_3 -> - happyIn196- (\l -> let (stss, ss) = happy_var_3 in ParArrayComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)- )}}}--happyReduce_565 = happySpecReduce_3 183# happyReduction_565-happyReduction_565 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut198 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn197- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_566 = happySpecReduce_3 183# happyReduction_566-happyReduction_566 happy_x_3- happy_x_2- happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut198 happy_x_2 of { happy_var_2 -> - case happyOut248 happy_x_3 of { happy_var_3 -> - happyIn197- (let l' = ann . last $ fst happy_var_2- in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_567 = happySpecReduce_3 184# happyReduction_567-happyReduction_567 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut199 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn198- ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)- )}}}--happyReduce_568 = happySpecReduce_3 185# happyReduction_568-happyReduction_568 happy_x_3- happy_x_2- happy_x_1- = case happyOut199 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut200 happy_x_3 of { happy_var_3 -> - happyIn199- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)- )}}}--happyReduce_569 = happySpecReduce_1 185# happyReduction_569-happyReduction_569 happy_x_1- = case happyOut200 happy_x_1 of { happy_var_1 -> - happyIn199- (([happy_var_1],[])- )}--happyReduce_570 = happySpecReduce_3 186# happyReduction_570-happyReduction_570 happy_x_3- happy_x_2- happy_x_1- = case happyOut204 happy_x_1 of { happy_var_1 -> - case happyOut201 happy_x_2 of { happy_var_2 -> - case happyOut152 happy_x_3 of { happy_var_3 -> - happyIn200- (Alt (happy_var_1 <> happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** snd happy_var_3) happy_var_1 happy_var_2 (fst happy_var_3)- )}}}--happyReduce_571 = happySpecReduce_2 187# happyReduction_571-happyReduction_571 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RightArrow) -> - case happyOut157 happy_x_2 of { happy_var_2 -> - happyIn201- (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_572 = happySpecReduce_1 187# happyReduction_572-happyReduction_572 happy_x_1- = case happyOut202 happy_x_1 of { happy_var_1 -> - happyIn201- (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)- )}--happyReduce_573 = happySpecReduce_2 188# happyReduction_573-happyReduction_573 happy_x_2- happy_x_1- = case happyOut202 happy_x_1 of { happy_var_1 -> - case happyOut203 happy_x_2 of { happy_var_2 -> - happyIn202- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)- )}}--happyReduce_574 = happySpecReduce_1 188# happyReduction_574-happyReduction_574 happy_x_1- = case happyOut203 happy_x_1 of { happy_var_1 -> - happyIn202- (([happy_var_1], ann happy_var_1)- )}--happyReduce_575 = happyMonadReduce 4# 189# happyReduction_575-happyReduction_575 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut194 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut157 happy_x_4 of { happy_var_4 -> - ( do { checkPatternGuards (fst happy_var_2);- let {l = nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])};- return (GuardedRhs l (reverse (fst happy_var_2)) happy_var_4) })}}}}- ) (\r -> happyReturn (happyIn203 r))--happyReduce_576 = happyMonadReduce 1# 190# happyReduction_576-happyReduction_576 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)}- ) (\r -> happyReturn (happyIn204 r))--happyReduce_577 = happyMonadReduce 2# 190# happyReduction_577-happyReduction_577 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut170 happy_x_2 of { happy_var_2 -> - ( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}}- ) (\r -> happyReturn (happyIn204 r))--happyReduce_578 = happySpecReduce_3 191# happyReduction_578-happyReduction_578 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut206 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn205- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_579 = happySpecReduce_3 191# happyReduction_579-happyReduction_579 happy_x_3- happy_x_2- happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut206 happy_x_2 of { happy_var_2 -> - case happyOut248 happy_x_3 of { happy_var_3 -> - happyIn205- (let l' = ann . last $ fst happy_var_2- in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_580 = happySpecReduce_3 192# happyReduction_580-happyReduction_580 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut207 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn206- ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)- )}}}--happyReduce_581 = happySpecReduce_3 193# happyReduction_581-happyReduction_581 happy_x_3- happy_x_2- happy_x_1- = case happyOut207 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut203 happy_x_3 of { happy_var_3 -> - happyIn207- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)- )}}}--happyReduce_582 = happySpecReduce_1 193# happyReduction_582-happyReduction_582 happy_x_1- = case happyOut203 happy_x_1 of { happy_var_1 -> - happyIn207- (([happy_var_1], [])- )}--happyReduce_583 = happySpecReduce_3 194# happyReduction_583-happyReduction_583 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut209 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn208- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_584 = happySpecReduce_3 194# happyReduction_584-happyReduction_584 happy_x_3- happy_x_2- happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut209 happy_x_2 of { happy_var_2 -> - case happyOut248 happy_x_3 of { happy_var_3 -> - happyIn208- (let l' = ann . last $ fst happy_var_2- in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_585 = happySpecReduce_2 195# happyReduction_585-happyReduction_585 happy_x_2- happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - case happyOut210 happy_x_2 of { happy_var_2 -> - happyIn209- ((happy_var_1 : fst happy_var_2, snd happy_var_2)- )}}--happyReduce_586 = happySpecReduce_2 195# happyReduction_586-happyReduction_586 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - case happyOut209 happy_x_2 of { happy_var_2 -> - happyIn209- ((fst happy_var_2, happy_var_1 : snd happy_var_2)- )}}--happyReduce_587 = happySpecReduce_0 195# happyReduction_587-happyReduction_587 = happyIn209- (([],[])- )--happyReduce_588 = happySpecReduce_2 196# happyReduction_588-happyReduction_588 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - case happyOut209 happy_x_2 of { happy_var_2 -> - happyIn210- ((fst happy_var_2, happy_var_1 : snd happy_var_2)- )}}--happyReduce_589 = happySpecReduce_0 196# happyReduction_589-happyReduction_589 = happyIn210- (([],[])- )--happyReduce_590 = happySpecReduce_2 197# happyReduction_590-happyReduction_590 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut79 happy_x_2 of { happy_var_2 -> - happyIn211- (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_591 = happySpecReduce_3 197# happyReduction_591-happyReduction_591 happy_x_3- happy_x_2- happy_x_1- = case happyOut204 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> - case happyOut157 happy_x_3 of { happy_var_3 -> - happyIn211- (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_592 = happySpecReduce_1 197# happyReduction_592-happyReduction_592 happy_x_1- = case happyOut157 happy_x_1 of { happy_var_1 -> - happyIn211- (Qualifier (ann happy_var_1) happy_var_1- )}--happyReduce_593 = happySpecReduce_2 197# happyReduction_593-happyReduction_593 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> - case happyOut208 happy_x_2 of { happy_var_2 -> - happyIn211- (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms- )}}--happyReduce_594 = happySpecReduce_3 198# happyReduction_594-happyReduction_594 happy_x_3- happy_x_2- happy_x_1- = case happyOut213 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut212 happy_x_3 of { happy_var_3 -> - happyIn212- (let (fbs, ss) = happy_var_3 in (happy_var_1 : fbs, happy_var_2 : ss)- )}}}--happyReduce_595 = happySpecReduce_1 198# happyReduction_595-happyReduction_595 happy_x_1- = case happyOut213 happy_x_1 of { happy_var_1 -> - happyIn212- (([happy_var_1],[])- )}--happyReduce_596 = happyMonadReduce 1# 198# happyReduction_596-happyReduction_596 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DotDot) -> - ( do { checkEnabled RecordWildCards `atSrcLoc` (getPointLoc happy_var_1);- return ([FieldWildcard (nIS happy_var_1)], []) })}- ) (\r -> happyReturn (happyIn212 r))--happyReduce_597 = happySpecReduce_3 199# happyReduction_597-happyReduction_597 happy_x_3- happy_x_2- happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - happyIn213- (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_598 = happyMonadReduce 1# 199# happyReduction_598-happyReduction_598 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> - ( checkEnabled NamedFieldPuns >> checkQualOrUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))}- ) (\r -> happyReturn (happyIn213 r))--happyReduce_599 = happySpecReduce_3 200# happyReduction_599-happyReduction_599 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut215 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn214- ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_600 = happySpecReduce_3 201# happyReduction_600-happyReduction_600 happy_x_3- happy_x_2- happy_x_1- = case happyOut215 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut216 happy_x_3 of { happy_var_3 -> - happyIn215- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_601 = happySpecReduce_1 201# happyReduction_601-happyReduction_601 happy_x_1- = case happyOut216 happy_x_1 of { happy_var_1 -> - happyIn215- (([happy_var_1],[])- )}--happyReduce_602 = happySpecReduce_3 202# happyReduction_602-happyReduction_602 happy_x_3- happy_x_2- happy_x_1- = case happyOut221 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut157 happy_x_3 of { happy_var_3 -> - happyIn216- (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_603 = happySpecReduce_2 203# happyReduction_603-happyReduction_603 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn217- (p_unit_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_604 = happySpecReduce_2 203# happyReduction_604-happyReduction_604 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> - happyIn217- (List (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []- )}}--happyReduce_605 = happySpecReduce_3 203# happyReduction_605-happyReduction_605 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn217- (p_tuple_con (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Boxed (length happy_var_2)- )}}}--happyReduce_606 = happySpecReduce_2 203# happyReduction_606-happyReduction_606 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn217- (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_607 = happySpecReduce_3 203# happyReduction_607-happyReduction_607 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut173 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn217- (p_tuple_con (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Unboxed (length happy_var_2)- )}}}--happyReduce_608 = happySpecReduce_1 203# happyReduction_608-happyReduction_608 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn217- (Con (ann happy_var_1) happy_var_1- )}--happyReduce_609 = happySpecReduce_1 204# happyReduction_609-happyReduction_609 happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - happyIn218- (happy_var_1- )}--happyReduce_610 = happySpecReduce_3 204# happyReduction_610-happyReduction_610 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut243 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn218- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_611 = happySpecReduce_1 205# happyReduction_611-happyReduction_611 happy_x_1- = case happyOut234 happy_x_1 of { happy_var_1 -> - happyIn219- (happy_var_1- )}--happyReduce_612 = happySpecReduce_3 205# happyReduction_612-happyReduction_612 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut243 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn219- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_613 = happySpecReduce_1 206# happyReduction_613-happyReduction_613 happy_x_1- = case happyOut233 happy_x_1 of { happy_var_1 -> - happyIn220- (happy_var_1- )}--happyReduce_614 = happySpecReduce_3 206# happyReduction_614-happyReduction_614 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut241 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn220- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_615 = happySpecReduce_1 207# happyReduction_615-happyReduction_615 happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - happyIn221- (happy_var_1- )}--happyReduce_616 = happySpecReduce_1 208# happyReduction_616-happyReduction_616 happy_x_1- = case happyOut238 happy_x_1 of { happy_var_1 -> - happyIn222- (happy_var_1- )}--happyReduce_617 = happySpecReduce_3 208# happyReduction_617-happyReduction_617 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut240 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn222- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_618 = happySpecReduce_1 209# happyReduction_618-happyReduction_618 happy_x_1- = case happyOut237 happy_x_1 of { happy_var_1 -> - happyIn223- (happy_var_1- )}--happyReduce_619 = happySpecReduce_3 209# happyReduction_619-happyReduction_619 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut232 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn223- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_620 = happySpecReduce_1 210# happyReduction_620-happyReduction_620 happy_x_1- = case happyOut243 happy_x_1 of { happy_var_1 -> - happyIn224- (happy_var_1- )}--happyReduce_621 = happySpecReduce_3 210# happyReduction_621-happyReduction_621 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut235 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn224- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_622 = happySpecReduce_1 211# happyReduction_622-happyReduction_622 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn225- (happy_var_1- )}--happyReduce_623 = happySpecReduce_3 211# happyReduction_623-happyReduction_623 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut233 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn225- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_624 = happySpecReduce_1 212# happyReduction_624-happyReduction_624 happy_x_1- = case happyOut242 happy_x_1 of { happy_var_1 -> - happyIn226- (happy_var_1- )}--happyReduce_625 = happySpecReduce_3 212# happyReduction_625-happyReduction_625 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut233 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn226- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_626 = happySpecReduce_1 213# happyReduction_626-happyReduction_626 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn227- (happy_var_1- )}--happyReduce_627 = happySpecReduce_3 213# happyReduction_627-happyReduction_627 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut238 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn227- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_628 = happySpecReduce_1 214# happyReduction_628-happyReduction_628 happy_x_1- = case happyOut232 happy_x_1 of { happy_var_1 -> - happyIn228- (happy_var_1- )}--happyReduce_629 = happySpecReduce_3 214# happyReduction_629-happyReduction_629 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut237 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn228- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_630 = happySpecReduce_1 215# happyReduction_630-happyReduction_630 happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - happyIn229- (VarOp (ann happy_var_1) happy_var_1- )}--happyReduce_631 = happySpecReduce_1 215# happyReduction_631-happyReduction_631 happy_x_1- = case happyOut227 happy_x_1 of { happy_var_1 -> - happyIn229- (ConOp (ann happy_var_1) happy_var_1- )}--happyReduce_632 = happySpecReduce_1 216# happyReduction_632-happyReduction_632 happy_x_1- = case happyOut225 happy_x_1 of { happy_var_1 -> - happyIn230- (QVarOp (ann happy_var_1) happy_var_1- )}--happyReduce_633 = happySpecReduce_1 216# happyReduction_633-happyReduction_633 happy_x_1- = case happyOut228 happy_x_1 of { happy_var_1 -> - happyIn230- (QConOp (ann happy_var_1) happy_var_1- )}--happyReduce_634 = happySpecReduce_1 217# happyReduction_634-happyReduction_634 happy_x_1- = case happyOut226 happy_x_1 of { happy_var_1 -> - happyIn231- (QVarOp (ann happy_var_1) happy_var_1- )}--happyReduce_635 = happySpecReduce_1 217# happyReduction_635-happyReduction_635 happy_x_1- = case happyOut228 happy_x_1 of { happy_var_1 -> - happyIn231- (QConOp (ann happy_var_1) happy_var_1- )}--happyReduce_636 = happySpecReduce_1 218# happyReduction_636-happyReduction_636 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Colon) -> - happyIn232- (list_cons_name (nIS happy_var_1)- )}--happyReduce_637 = happySpecReduce_1 218# happyReduction_637-happyReduction_637 happy_x_1- = case happyOut239 happy_x_1 of { happy_var_1 -> - happyIn232- (happy_var_1- )}--happyReduce_638 = happySpecReduce_1 219# happyReduction_638-happyReduction_638 happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - happyIn233- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_639 = happySpecReduce_1 219# happyReduction_639-happyReduction_639 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn233- (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}- in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))- )}--happyReduce_640 = happySpecReduce_1 220# happyReduction_640-happyReduction_640 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn234- (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v- )}--happyReduce_641 = happySpecReduce_1 220# happyReduction_641-happyReduction_641 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - happyIn234- (as_name (nIS happy_var_1)- )}--happyReduce_642 = happySpecReduce_1 220# happyReduction_642-happyReduction_642 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn234- (qualified_name (nIS happy_var_1)- )}--happyReduce_643 = happySpecReduce_1 220# happyReduction_643-happyReduction_643 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn234- (hiding_name (nIS happy_var_1)- )}--happyReduce_644 = happySpecReduce_1 220# happyReduction_644-happyReduction_644 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> - happyIn234- (export_name (nIS happy_var_1)- )}--happyReduce_645 = happySpecReduce_1 220# happyReduction_645-happyReduction_645 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn234- (stdcall_name (nIS happy_var_1)- )}--happyReduce_646 = happySpecReduce_1 220# happyReduction_646-happyReduction_646 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn234- (ccall_name (nIS happy_var_1)- )}--happyReduce_647 = happySpecReduce_1 220# happyReduction_647-happyReduction_647 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn234- (cplusplus_name (nIS happy_var_1)- )}--happyReduce_648 = happySpecReduce_1 220# happyReduction_648-happyReduction_648 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn234- (dotnet_name (nIS happy_var_1)- )}--happyReduce_649 = happySpecReduce_1 220# happyReduction_649-happyReduction_649 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn234- (jvm_name (nIS happy_var_1)- )}--happyReduce_650 = happySpecReduce_1 220# happyReduction_650-happyReduction_650 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn234- (js_name (nIS happy_var_1)- )}--happyReduce_651 = happySpecReduce_1 220# happyReduction_651-happyReduction_651 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> - happyIn234- (javascript_name (nIS happy_var_1)- )}--happyReduce_652 = happySpecReduce_1 220# happyReduction_652-happyReduction_652 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn234- (capi_name (nIS happy_var_1)- )}--happyReduce_653 = happySpecReduce_1 221# happyReduction_653-happyReduction_653 happy_x_1- = case happyOut234 happy_x_1 of { happy_var_1 -> - happyIn235- (happy_var_1- )}--happyReduce_654 = happySpecReduce_1 221# happyReduction_654-happyReduction_654 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn235- (safe_name (nIS happy_var_1)- )}--happyReduce_655 = happySpecReduce_1 221# happyReduction_655-happyReduction_655 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn235- (unsafe_name (nIS happy_var_1)- )}--happyReduce_656 = happySpecReduce_1 221# happyReduction_656-happyReduction_656 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn235- (interruptible_name (nIS happy_var_1)- )}--happyReduce_657 = happySpecReduce_1 221# happyReduction_657-happyReduction_657 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn235- (threadsafe_name (nIS happy_var_1)- )}--happyReduce_658 = happySpecReduce_1 221# happyReduction_658-happyReduction_658 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - happyIn235- (forall_name (nIS happy_var_1)- )}--happyReduce_659 = happySpecReduce_1 221# happyReduction_659-happyReduction_659 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn235- (family_name (nIS happy_var_1)- )}--happyReduce_660 = happySpecReduce_1 222# happyReduction_660-happyReduction_660 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn236- (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i- )}--happyReduce_661 = happySpecReduce_1 222# happyReduction_661-happyReduction_661 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn236- (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i- )}--happyReduce_662 = happySpecReduce_1 223# happyReduction_662-happyReduction_662 happy_x_1- = case happyOut238 happy_x_1 of { happy_var_1 -> - happyIn237- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_663 = happySpecReduce_1 223# happyReduction_663-happyReduction_663 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn237- (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))- )}--happyReduce_664 = happySpecReduce_1 224# happyReduction_664-happyReduction_664 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn238- (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c- )}--happyReduce_665 = happySpecReduce_1 225# happyReduction_665-happyReduction_665 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn239- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_666 = happySpecReduce_1 225# happyReduction_666-happyReduction_666 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn239- (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))- )}--happyReduce_667 = happySpecReduce_1 226# happyReduction_667-happyReduction_667 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn240- (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c- )}--happyReduce_668 = happySpecReduce_1 227# happyReduction_668-happyReduction_668 happy_x_1- = case happyOut243 happy_x_1 of { happy_var_1 -> - happyIn241- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_669 = happySpecReduce_1 227# happyReduction_669-happyReduction_669 happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - happyIn241- (happy_var_1- )}--happyReduce_670 = happySpecReduce_1 228# happyReduction_670-happyReduction_670 happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - happyIn242- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_671 = happySpecReduce_1 228# happyReduction_671-happyReduction_671 happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - happyIn242- (happy_var_1- )}--happyReduce_672 = happySpecReduce_1 229# happyReduction_672-happyReduction_672 happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - happyIn243- (happy_var_1- )}--happyReduce_673 = happySpecReduce_1 229# happyReduction_673-happyReduction_673 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - happyIn243- (minus_name (nIS happy_var_1)- )}--happyReduce_674 = happySpecReduce_1 230# happyReduction_674-happyReduction_674 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn244- (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v- )}--happyReduce_675 = happySpecReduce_1 230# happyReduction_675-happyReduction_675 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn244- (bang_name (nIS happy_var_1)- )}--happyReduce_676 = happySpecReduce_1 230# happyReduction_676-happyReduction_676 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> - happyIn244- (dot_name (nIS happy_var_1)- )}--happyReduce_677 = happySpecReduce_1 230# happyReduction_677-happyReduction_677 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn244- (star_name (nIS happy_var_1)- )}--happyReduce_678 = happySpecReduce_1 231# happyReduction_678-happyReduction_678 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn245- (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))- )}--happyReduce_679 = happySpecReduce_1 232# happyReduction_679-happyReduction_679 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (IntTok (i,raw)) = happy_var_1 in Int (nIS l) i raw- )}--happyReduce_680 = happySpecReduce_1 232# happyReduction_680-happyReduction_680 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (Character (c,raw)) = happy_var_1 in Char (nIS l) c raw- )}--happyReduce_681 = happySpecReduce_1 232# happyReduction_681-happyReduction_681 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (FloatTok (r,raw)) = happy_var_1 in Frac (nIS l) r raw- )}--happyReduce_682 = happySpecReduce_1 232# happyReduction_682-happyReduction_682 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (StringTok (s,raw)) = happy_var_1 in String (nIS l) s raw- )}--happyReduce_683 = happySpecReduce_1 232# happyReduction_683-happyReduction_683 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (IntTokHash (i,raw)) = happy_var_1 in PrimInt (nIS l) i raw- )}--happyReduce_684 = happySpecReduce_1 232# happyReduction_684-happyReduction_684 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (WordTokHash (w,raw)) = happy_var_1 in PrimWord (nIS l) w raw- )}--happyReduce_685 = happySpecReduce_1 232# happyReduction_685-happyReduction_685 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (FloatTokHash (f,raw)) = happy_var_1 in PrimFloat (nIS l) f raw- )}--happyReduce_686 = happySpecReduce_1 232# happyReduction_686-happyReduction_686 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw- )}--happyReduce_687 = happySpecReduce_1 232# happyReduction_687-happyReduction_687 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar (nIS l) c raw- )}--happyReduce_688 = happySpecReduce_1 232# happyReduction_688-happyReduction_688 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn246- (let Loc l (StringHash (s,raw)) = happy_var_1 in PrimString (nIS l) s raw- )}--happyReduce_689 = happyMonadReduce 0# 233# happyReduction_689-happyReduction_689 (happyRest) tk- = happyThen (( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -})- ) (\r -> happyReturn (happyIn247 r))--happyReduce_690 = happySpecReduce_1 234# happyReduction_690-happyReduction_690 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 VRightCurly) -> - happyIn248- (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}- )}--happyReduce_691 = happyMonadReduce 1# 234# happyReduction_691-happyReduction_691 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -})- ) (\r -> happyReturn (happyIn248 r))--happyReduce_692 = happyMonadReduce 1# 235# happyReduction_692-happyReduction_692 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut250 happy_x_1 of { happy_var_1 -> - ( checkEnabled PatternSynonyms >> return happy_var_1)}- ) (\r -> happyReturn (happyIn249 r))--happyReduce_693 = happyReduce 4# 236# happyReduction_693-happyReduction_693 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut251 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut204 happy_x_4 of { happy_var_4 -> - happyIn250- (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]- in PatSyn l happy_var_2 happy_var_4 ImplicitBidirectional- ) `HappyStk` happyRest}}}}--happyReduce_694 = happyReduce 4# 236# happyReduction_694-happyReduction_694 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut251 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> - case happyOut204 happy_x_4 of { happy_var_4 -> - happyIn250- (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]- in PatSyn l happy_var_2 happy_var_4 Unidirectional- ) `HappyStk` happyRest}}}}--happyReduce_695 = happyReduce 5# 236# happyReduction_695-happyReduction_695 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut251 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> - case happyOut204 happy_x_4 of { happy_var_4 -> - case happyOut253 happy_x_5 of { happy_var_5 -> - happyIn250- (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1, happy_var_3]- in PatSyn l happy_var_2 happy_var_4 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_696 = happySpecReduce_2 237# happyReduction_696-happyReduction_696 happy_x_2- happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - case happyOut252 happy_x_2 of { happy_var_2 -> - happyIn251- (let l = case happy_var_2 of- [] -> ann happy_var_1- (_:_) -> ann happy_var_1 <++> (ann $ last happy_var_2)- in PApp l (UnQual (ann happy_var_1) happy_var_1) happy_var_2- )}}--happyReduce_697 = happySpecReduce_3 237# happyReduction_697-happyReduction_697 happy_x_3- happy_x_2- happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - case happyOut239 happy_x_2 of { happy_var_2 -> - case happyOut235 happy_x_3 of { happy_var_3 -> - happyIn251- (PInfixApp (ann happy_var_1 <++> ann happy_var_3) (PVar (ann happy_var_1) happy_var_1) happy_var_2 (PVar (ann happy_var_3) happy_var_3)- )}}}--happyReduce_698 = happySpecReduce_0 238# happyReduction_698-happyReduction_698 = happyIn252- ([]- )--happyReduce_699 = happySpecReduce_2 238# happyReduction_699-happyReduction_699 happy_x_2- happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - case happyOut252 happy_x_2 of { happy_var_2 -> - happyIn252- (PVar (ann happy_var_1) happy_var_1 : happy_var_2- )}}--happyReduce_700 = happyMonadReduce 4# 239# happyReduction_700-happyReduction_700 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut66 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}}- ) (\r -> happyReturn (happyIn253 r))--happyReduce_701 = happyMonadReduce 4# 239# happyReduction_701-happyReduction_701 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - case happyOut66 happy_x_3 of { happy_var_3 -> - case happyOut248 happy_x_4 of { happy_var_4 -> - ( checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}}- ) (\r -> happyReturn (happyIn253 r))--happyReduce_702 = happyMonadReduce 4# 240# happyReduction_702-happyReduction_702 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut222 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut255 happy_x_4 of { happy_var_4 -> - ( do { checkEnabled PatternSynonyms ;- let {(qtvs, ps, prov, req, ty) = happy_var_4} ;- let {sig = PatSynSig (nIS happy_var_1 <++> ann ty <** [happy_var_1, happy_var_3] ++ ps) happy_var_2 qtvs prov req ty} ;- return sig })}}}}- ) (\r -> happyReturn (happyIn254 r))--happyReduce_703 = happyReduce 4# 241# happyReduction_703-happyReduction_703 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut112 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - case happyOut255 happy_x_4 of { happy_var_4 -> - happyIn255- (let (qtvs, ps, prov, req, ty) = happy_var_4- in (Just (reverse (fst happy_var_2) ++ fromMaybe [] qtvs), (happy_var_1 : happy_var_3 : ps), prov, req, ty)- ) `HappyStk` happyRest}}}}--happyReduce_704 = happyMonadReduce 3# 241# happyReduction_704-happyReduction_704 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_2 of { happy_var_2 -> - case happyOut98 happy_x_3 of { happy_var_3 -> - ( do { c1 <- checkContext (Just happy_var_1) ;- c2 <- checkContext (Just happy_var_2) ;- t <- checkType happy_var_3 ;- return $ (Nothing, [], c1, c2, t) })}}}- ) (\r -> happyReturn (happyIn255 r))--happyReduce_705 = happyMonadReduce 2# 241# happyReduction_705-happyReduction_705 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> - case happyOut98 happy_x_2 of { happy_var_2 -> - ( do { c1 <- checkContext (Just happy_var_1);- t <- checkType happy_var_2;- return (Nothing, [], c1, Nothing, t) })}}- ) (\r -> happyReturn (happyIn255 r))--happyReduce_706 = happyMonadReduce 1# 241# happyReduction_706-happyReduction_706 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut98 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1 >>= \t -> return (Nothing, [], Nothing, Nothing, t))}- ) (\r -> happyReturn (happyIn255 r))--happyReduce_707 = happySpecReduce_1 242# happyReduction_707-happyReduction_707 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn256- (let Loc l (ConId n) = happy_var_1 in ModuleName (nIS l) n- )}--happyReduce_708 = happySpecReduce_1 242# happyReduction_708-happyReduction_708 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn256- (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)- )}--happyReduce_709 = happySpecReduce_1 243# happyReduction_709-happyReduction_709 happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - happyIn257- (happy_var_1- )}--happyReduce_710 = happySpecReduce_1 244# happyReduction_710-happyReduction_710 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn258- (happy_var_1- )}--happyReduce_711 = happySpecReduce_1 245# happyReduction_711-happyReduction_711 happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - happyIn259- (happy_var_1- )}--happyReduce_712 = happySpecReduce_1 246# happyReduction_712-happyReduction_712 happy_x_1- = case happyOut234 happy_x_1 of { happy_var_1 -> - happyIn260- (happy_var_1- )}--happyReduce_713 = happySpecReduce_1 246# happyReduction_713-happyReduction_713 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn260- (safe_name (nIS happy_var_1)- )}--happyReduce_714 = happySpecReduce_1 246# happyReduction_714-happyReduction_714 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn260- (unsafe_name (nIS happy_var_1)- )}--happyReduce_715 = happySpecReduce_1 246# happyReduction_715-happyReduction_715 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn260- (threadsafe_name (nIS happy_var_1)- )}--happyReduce_716 = happySpecReduce_3 247# happyReduction_716-happyReduction_716 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut259 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn261- (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_717 = happySpecReduce_1 247# happyReduction_717-happyReduction_717 happy_x_1- = case happyOut262 happy_x_1 of { happy_var_1 -> - happyIn261- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_718 = happySpecReduce_1 248# happyReduction_718-happyReduction_718 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn262- (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x- )}--happyReduce_719 = happySpecReduce_1 248# happyReduction_719-happyReduction_719 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - happyIn262- (Symbol (nIS happy_var_1) "-"- )}--happyReduce_720 = happyReduce 5# 249# happyReduction_720-happyReduction_720 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - case happyOut28 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightCurly) -> - happyIn263- (let (ids, ss) = happy_var_3 in (ids, happy_var_1 : reverse happy_var_2 ++ ss ++ reverse happy_var_4 ++ [happy_var_5], happy_var_1 <^^> happy_var_5)- ) `HappyStk` happyRest}}}}}--happyReduce_721 = happyReduce 5# 249# happyReduction_721-happyReduction_721 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - case happyOut28 happy_x_4 of { happy_var_4 -> - case happyOut248 happy_x_5 of { happy_var_5 -> - happyIn263- (let (ids, ss) = happy_var_3 in (ids, happy_var_1 : reverse happy_var_2 ++ ss ++ reverse happy_var_4 ++ [happy_var_5], happy_var_1 <^^> happy_var_5)- ) `HappyStk` happyRest}}}}}--happyReduce_722 = happySpecReduce_3 250# happyReduction_722-happyReduction_722 happy_x_3- happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut256 happy_x_3 of { happy_var_3 -> - happyIn264- ((happy_var_1, Just happy_var_3)- )}}--happyReduce_723 = happySpecReduce_1 250# happyReduction_723-happyReduction_723 happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - happyIn264- ((happy_var_1, Nothing)- )}--happyReduce_724 = happySpecReduce_2 251# happyReduction_724-happyReduction_724 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn265- ((happy_var_1, happy_var_2)- )}}--happyReduce_725 = happySpecReduce_3 252# happyReduction_725-happyReduction_725 happy_x_3- happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - case happyOut263 happy_x_3 of { happy_var_3 -> - happyIn266- ((happy_var_1, happy_var_2, Just happy_var_3)- )}}}--happyReduce_726 = happySpecReduce_2 252# happyReduction_726-happyReduction_726 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn266- ((happy_var_1, happy_var_2, Nothing)- )}}--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- Loc _ EOF -> happyDoAction 147# tk action sts stk;- Loc _ (VarId _) -> cont 1#;- Loc _ (QVarId _) -> cont 2#;- Loc _ (IDupVarId _) -> cont 3#;- Loc _ (ILinVarId _) -> cont 4#;- Loc _ (ConId _) -> cont 5#;- Loc _ (QConId _) -> cont 6#;- Loc _ (DVarId _) -> cont 7#;- Loc _ (VarSym _) -> cont 8#;- Loc _ (ConSym _) -> cont 9#;- Loc _ (QVarSym _) -> cont 10#;- Loc _ (QConSym _) -> cont 11#;- Loc _ (IntTok _) -> cont 12#;- Loc _ (FloatTok _) -> cont 13#;- Loc _ (Character _) -> cont 14#;- Loc _ (StringTok _) -> cont 15#;- Loc _ (IntTokHash _) -> cont 16#;- Loc _ (WordTokHash _) -> cont 17#;- Loc _ (FloatTokHash _) -> cont 18#;- Loc _ (DoubleTokHash _) -> cont 19#;- Loc _ (CharacterHash _) -> cont 20#;- Loc _ (StringHash _) -> cont 21#;- Loc happy_dollar_dollar LeftParen -> cont 22#;- Loc happy_dollar_dollar RightParen -> cont 23#;- Loc happy_dollar_dollar LeftHashParen -> cont 24#;- Loc happy_dollar_dollar RightHashParen -> cont 25#;- Loc happy_dollar_dollar SemiColon -> cont 26#;- Loc happy_dollar_dollar LeftCurly -> cont 27#;- Loc happy_dollar_dollar RightCurly -> cont 28#;- Loc happy_dollar_dollar VRightCurly -> cont 29#;- Loc happy_dollar_dollar LeftSquare -> cont 30#;- Loc happy_dollar_dollar RightSquare -> cont 31#;- Loc happy_dollar_dollar ParArrayLeftSquare -> cont 32#;- Loc happy_dollar_dollar ParArrayRightSquare -> cont 33#;- Loc happy_dollar_dollar Comma -> cont 34#;- Loc happy_dollar_dollar Underscore -> cont 35#;- Loc happy_dollar_dollar BackQuote -> cont 36#;- Loc happy_dollar_dollar Dot -> cont 37#;- Loc happy_dollar_dollar DotDot -> cont 38#;- Loc happy_dollar_dollar Colon -> cont 39#;- Loc happy_dollar_dollar DoubleColon -> cont 40#;- Loc happy_dollar_dollar Equals -> cont 41#;- Loc happy_dollar_dollar Backslash -> cont 42#;- Loc happy_dollar_dollar Bar -> cont 43#;- Loc happy_dollar_dollar LeftArrow -> cont 44#;- Loc happy_dollar_dollar RightArrow -> cont 45#;- Loc happy_dollar_dollar At -> cont 46#;- Loc happy_dollar_dollar Tilde -> cont 47#;- Loc happy_dollar_dollar DoubleArrow -> cont 48#;- Loc happy_dollar_dollar Minus -> cont 49#;- Loc happy_dollar_dollar Exclamation -> cont 50#;- Loc happy_dollar_dollar Star -> cont 51#;- Loc happy_dollar_dollar LeftArrowTail -> cont 52#;- Loc happy_dollar_dollar RightArrowTail -> cont 53#;- Loc happy_dollar_dollar LeftDblArrowTail -> cont 54#;- Loc happy_dollar_dollar RightDblArrowTail -> cont 55#;- Loc happy_dollar_dollar RPGuardOpen -> cont 56#;- Loc happy_dollar_dollar RPGuardClose -> cont 57#;- Loc happy_dollar_dollar RPCAt -> cont 58#;- Loc _ (THIdEscape _) -> cont 59#;- Loc happy_dollar_dollar THParenEscape -> cont 60#;- Loc happy_dollar_dollar THExpQuote -> cont 61#;- Loc happy_dollar_dollar THPatQuote -> cont 62#;- Loc happy_dollar_dollar THTypQuote -> cont 63#;- Loc happy_dollar_dollar THDecQuote -> cont 64#;- Loc happy_dollar_dollar THCloseQuote -> cont 65#;- Loc happy_dollar_dollar THVarQuote -> cont 66#;- Loc happy_dollar_dollar THTyQuote -> cont 67#;- Loc _ (THQuasiQuote _) -> cont 68#;- Loc _ (XPCDATA _) -> cont 69#;- Loc happy_dollar_dollar XStdTagOpen -> cont 70#;- Loc happy_dollar_dollar XCloseTagOpen -> cont 71#;- Loc happy_dollar_dollar XCodeTagOpen -> cont 72#;- Loc happy_dollar_dollar XChildTagOpen -> cont 73#;- Loc happy_dollar_dollar XStdTagClose -> cont 74#;- Loc happy_dollar_dollar XEmptyTagClose -> cont 75#;- Loc happy_dollar_dollar XCodeTagClose -> cont 76#;- Loc happy_dollar_dollar XRPatOpen -> cont 77#;- Loc happy_dollar_dollar XRPatClose -> cont 78#;- Loc happy_dollar_dollar KW_Foreign -> cont 79#;- Loc happy_dollar_dollar KW_Export -> cont 80#;- Loc happy_dollar_dollar KW_Safe -> cont 81#;- Loc happy_dollar_dollar KW_Unsafe -> cont 82#;- Loc happy_dollar_dollar KW_Threadsafe -> cont 83#;- Loc happy_dollar_dollar KW_Interruptible -> cont 84#;- Loc happy_dollar_dollar KW_StdCall -> cont 85#;- Loc happy_dollar_dollar KW_CCall -> cont 86#;- Loc happy_dollar_dollar KW_CPlusPlus -> cont 87#;- Loc happy_dollar_dollar KW_DotNet -> cont 88#;- Loc happy_dollar_dollar KW_Jvm -> cont 89#;- Loc happy_dollar_dollar KW_Js -> cont 90#;- Loc happy_dollar_dollar KW_JavaScript -> cont 91#;- Loc happy_dollar_dollar KW_CApi -> cont 92#;- Loc happy_dollar_dollar KW_As -> cont 93#;- Loc happy_dollar_dollar KW_By -> cont 94#;- Loc happy_dollar_dollar KW_Case -> cont 95#;- Loc happy_dollar_dollar KW_Class -> cont 96#;- Loc happy_dollar_dollar KW_Data -> cont 97#;- Loc happy_dollar_dollar KW_Default -> cont 98#;- Loc happy_dollar_dollar KW_Deriving -> cont 99#;- Loc happy_dollar_dollar KW_Do -> cont 100#;- Loc happy_dollar_dollar KW_Else -> cont 101#;- Loc happy_dollar_dollar KW_Family -> cont 102#;- Loc happy_dollar_dollar KW_Forall -> cont 103#;- Loc happy_dollar_dollar KW_Group -> cont 104#;- Loc happy_dollar_dollar KW_Hiding -> cont 105#;- Loc happy_dollar_dollar KW_If -> cont 106#;- Loc happy_dollar_dollar KW_Import -> cont 107#;- Loc happy_dollar_dollar KW_In -> cont 108#;- Loc happy_dollar_dollar KW_Infix -> cont 109#;- Loc happy_dollar_dollar KW_InfixL -> cont 110#;- Loc happy_dollar_dollar KW_InfixR -> cont 111#;- Loc happy_dollar_dollar KW_Instance -> cont 112#;- Loc happy_dollar_dollar KW_Let -> cont 113#;- Loc happy_dollar_dollar KW_MDo -> cont 114#;- Loc happy_dollar_dollar KW_Module -> cont 115#;- Loc happy_dollar_dollar KW_NewType -> cont 116#;- Loc happy_dollar_dollar KW_Of -> cont 117#;- Loc happy_dollar_dollar KW_Proc -> cont 118#;- Loc happy_dollar_dollar KW_Rec -> cont 119#;- Loc happy_dollar_dollar KW_Then -> cont 120#;- Loc happy_dollar_dollar KW_Type -> cont 121#;- Loc happy_dollar_dollar KW_Using -> cont 122#;- Loc happy_dollar_dollar KW_Where -> cont 123#;- Loc happy_dollar_dollar KW_Qualified -> cont 124#;- Loc happy_dollar_dollar KW_Role -> cont 125#;- Loc happy_dollar_dollar KW_Pattern -> cont 126#;- Loc _ (INLINE _) -> cont 127#;- Loc happy_dollar_dollar INLINE_CONLIKE -> cont 128#;- Loc happy_dollar_dollar SPECIALISE -> cont 129#;- Loc _ (SPECIALISE_INLINE _) -> cont 130#;- Loc happy_dollar_dollar SOURCE -> cont 131#;- Loc happy_dollar_dollar RULES -> cont 132#;- Loc happy_dollar_dollar CORE -> cont 133#;- Loc happy_dollar_dollar SCC -> cont 134#;- Loc happy_dollar_dollar GENERATED -> cont 135#;- Loc happy_dollar_dollar DEPRECATED -> cont 136#;- Loc happy_dollar_dollar WARNING -> cont 137#;- Loc happy_dollar_dollar UNPACK -> cont 138#;- Loc _ (OPTIONS _) -> cont 139#;- Loc happy_dollar_dollar LANGUAGE -> cont 140#;- Loc happy_dollar_dollar ANN -> cont 141#;- Loc happy_dollar_dollar MINIMAL -> cont 142#;- Loc happy_dollar_dollar NO_OVERLAP -> cont 143#;- Loc happy_dollar_dollar OVERLAP -> cont 144#;- Loc happy_dollar_dollar INCOHERENT -> cont 145#;- Loc happy_dollar_dollar PragmaEnd -> cont 146#;- _ -> happyError' tk- })--happyError_ 147# tk = happyError' tk-happyError_ _ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Loc Token) -> P a-happyError' tk = parseError tk--mparseModule = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut16 x))--mparseExp = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut157 x))--mparsePat = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut204 x))--mparseDeclAux = happySomeParser where- happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut25 x))--mparseType = happySomeParser where- happySomeParser = happyThen (happyParse 4#) (\x -> happyReturn (happyOut107 x))--mparseStmt = happySomeParser where- happySomeParser = happyThen (happyParse 5#) (\x -> happyReturn (happyOut211 x))--mparseImportDecl = happySomeParser where- happySomeParser = happyThen (happyParse 6#) (\x -> happyReturn (happyOut36 x))--ngparseModulePragmas = happySomeParser where- happySomeParser = happyThen (happyParse 7#) (\x -> happyReturn (happyOut18 x))--ngparseModuleHeadAndImports = happySomeParser where- happySomeParser = happyThen (happyParse 8#) (\x -> happyReturn (happyOut266 x))--ngparsePragmasAndModuleHead = happySomeParser where- happySomeParser = happyThen (happyParse 9#) (\x -> happyReturn (happyOut265 x))--ngparsePragmasAndModuleName = happySomeParser where- happySomeParser = happyThen (happyParse 10#) (\x -> happyReturn (happyOut264 x))--happySeq = happyDontSeq---type L = SrcSpanInfo -- just for convenience-type S = SrcSpan--parseError :: Loc Token -> P a-parseError t = fail $ "Parse error: " ++ showToken (unLoc t)--(<>) :: (Annotated a, Annotated b) => a SrcSpanInfo -> b SrcSpanInfo -> SrcSpanInfo-a <> b = ann a <++> ann b-infixl 6 <>--nIS = noInfoSpan-iS = infoSpan--mparseDecl :: P (Decl SrcSpanInfo)-mparseDecl = do- (is, ds, _, _) <- mparseDeclAux- when (not $ null is) $- fail $ "Expected single declaration, found import declaration"- checkSingleDecl ds-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 19 "<built-in>" #-}-{-# LINE 1 "/Users/matt/Downloads/ghc-7.10.1.app/Contents/lib/ghc-7.10.1/include/ghcversion.h" #-}-------------------{-# LINE 20 "<built-in>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ---{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif--{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList-------{-# LINE 67 "templates/GenericTemplate.hs" #-}---{-# LINE 77 "templates/GenericTemplate.hs" #-}-----------infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}- -- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}- - (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}- -- happyShift new_state i tk st- where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i- where- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)- high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)---{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i---- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ - happyError_ i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.-
haskell-src-exts.cabal view
@@ -1,39 +1,29 @@ Name: haskell-src-exts-Version: 1.17.1+Version: 1.24.0 License: BSD3 License-File: LICENSE Build-Type: Simple Author: Niklas Broberg-Maintainer: Niklas Broberg <niklas.broberg@chalmers.se>, Roman Cheplyaka <roma@ro-che.info>+Maintainer: Dan Burton <danburton.email@gmail.com> Category: Language Synopsis: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer Description: Haskell-Source with Extensions (HSE, haskell-src-exts)- is an extension of the standard haskell-src package,- and handles most registered syntactic extensions to Haskell, including:- .- * Multi-parameter type classes with functional dependencies- .- * Indexed type families (including associated types)- .- * Empty data declarations- .- * GADTs- .- * Implicit parameters- .- * Template Haskell+ is a standalone parser for Haskell. In addition to+ standard Haskell, all extensions implemented in GHC are supported. .- and a few more. All extensions implemented in GHC are supported. Apart from these standard extensions, it also handles regular patterns as per the HaRP extension as well as HSX-style embedded XML syntax. Homepage: https://github.com/haskell-suite/haskell-src-exts+Bug-Reports: https://github.com/haskell-suite/haskell-src-exts/issues Stability: Stable Cabal-Version: >= 1.10+Tested-With: GHC == 9.14.1 Extra-Source-Files: README.md CHANGELOG+ RELEASENOTES-1.17.0 tests/examples/*.hs tests/examples/*.lhs tests/examples/*.hs.parser.golden@@ -50,30 +40,30 @@ Library Default-language: Haskell98 Build-Tools: happy >= 1.19- Build-Depends: array >= 0.1, pretty >= 1.0, cpphs >= 1.3,+ Build-Depends: array >= 0.1 && < 0.6,+ pretty >= 1.0 && < 1.2, base >= 4.5 && < 5, -- this is needed to access GHC.Generics on GHC 7.4- ghc-prim+ ghc-prim < 0.14+ -- this is needed to access Data.Semigroup and Control.Monad.Fail on GHCs+ -- before 8.0+ if !impl(ghc >= 8.0)+ Build-Depends:+ semigroups >= 0.18.3 && < 0.21,+ fail == 4.9.* Exposed-modules: Language.Haskell.Exts, Language.Haskell.Exts.Lexer,- Language.Haskell.Exts.Parser, Language.Haskell.Exts.Pretty,- Language.Haskell.Exts.Syntax, Language.Haskell.Exts.Extension, Language.Haskell.Exts.Build,- Language.Haskell.Exts.Fixity,- Language.Haskell.Exts.Comments, Language.Haskell.Exts.SrcLoc, - Language.Haskell.Exts.Annotated,- Language.Haskell.Exts.Annotated.Syntax,- Language.Haskell.Exts.Annotated.Fixity,- Language.Haskell.Exts.Annotated.Build,- Language.Haskell.Exts.Annotated.ExactPrint,- Language.Haskell.Exts.Annotated.Simplify,- Language.Haskell.Exts.Annotated.Parser,- Language.Haskell.Exts.Annotated.Comments+ Language.Haskell.Exts.Syntax,+ Language.Haskell.Exts.Fixity,+ Language.Haskell.Exts.ExactPrint,+ Language.Haskell.Exts.Parser,+ Language.Haskell.Exts.Comments Other-modules: Language.Haskell.Exts.ExtScheme, Language.Haskell.Exts.ParseMonad,@@ -81,6 +71,7 @@ Language.Haskell.Exts.InternalLexer, Language.Haskell.Exts.ParseUtils, Language.Haskell.Exts.InternalParser+ Language.Preprocessor.Unlit Hs-source-dirs: src Ghc-options: -Wall @@ -92,17 +83,17 @@ type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Runner.hs+ other-modules: Extensions GHC-Options: -threaded -Wall Default-language: Haskell2010- Build-depends: base < 5,+ Build-depends: base, mtl, containers, haskell-src-exts, smallcheck >= 1.0, tasty >= 0.3, tasty-smallcheck,- tasty-golden >= 2.2.2 && < 2.3 ,+ tasty-golden >= 2.2.2, filepath, directory,- syb,- pretty-show+ pretty-show >= 1.6.16
src/Language/Haskell/Exts.hs view
@@ -18,11 +18,13 @@ module Language.Haskell.Exts.Syntax , module Language.Haskell.Exts.Build , module Language.Haskell.Exts.Lexer- , module Language.Haskell.Exts.Parser , module Language.Haskell.Exts.Pretty- , module Language.Haskell.Exts.Extension , module Language.Haskell.Exts.Fixity+ , module Language.Haskell.Exts.ExactPrint+ , module Language.Haskell.Exts.SrcLoc , module Language.Haskell.Exts.Comments+ , module Language.Haskell.Exts.Extension+ , module Language.Haskell.Exts.Parser -- * Parsing of Haskell source files , parseFile , parseFileWithMode@@ -33,19 +35,20 @@ , parseFileContentsWithMode , parseFileContentsWithExts , parseFileContentsWithComments- , parseFileContentsWithCommentsAndPragmas -- * Read extensions declared in LANGUAGE pragmas , readExtensions ) where import Language.Haskell.Exts.Build-import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Comments import Language.Haskell.Exts.Parser-import Language.Haskell.Exts.Lexer+import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) ) import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.Extension import Language.Haskell.Exts.Fixity-import Language.Haskell.Exts.Comments+import Language.Haskell.Exts.ExactPrint+import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.Extension import Data.List import Data.Maybe (fromMaybe)@@ -53,39 +56,52 @@ import System.IO -- | Parse a source file on disk, using the default parse mode.-parseFile :: FilePath -> IO (ParseResult Module)+parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp -- | Parse a source file on disk, with an extra set of extensions to know about -- on top of what the file itself declares.-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult Module)-parseFileWithExts exts fp = parseFileWithMode (defaultParseMode { extensions = exts, parseFilename = fp }) fp+parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))+parseFileWithExts exts fp =+ parseFileWithMode (defaultParseMode {+ extensions = exts,+ parseFilename = fp }) fp -- | Parse a source file on disk, supplying a custom parse mode.-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult Module)+parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p --- | Parse a source file on disk, supplying a custom parse mode, and retaining comments.-parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment]))+parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p -- | Parse a source file on disk, supplying a custom parse mode, and retaining comments -- as well as unknown pragmas.-parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment], [UnknownPragma]))+parseFileWithCommentsAndPragmas+ :: ParseMode -> FilePath+ -> IO (ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])) parseFileWithCommentsAndPragmas p fp = readUTF8File fp >>= return . parseFileContentsWithCommentsAndPragmas p +-- | Parse a source file from a string using a custom parse mode retaining comments+-- as well as unknown pragmas.+parseFileContentsWithCommentsAndPragmas+ :: ParseMode -> String+ -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])+parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult+ where parseResult = parseFileContentsWithComments pmode str+ -- | Parse a source file from a string using the default parse mode.-parseFileContents :: String -> ParseResult Module+parseFileContents :: String -> ParseResult (Module SrcSpanInfo) parseFileContents = parseFileContentsWithMode defaultParseMode -- | Parse a source file from a string, with an extra set of extensions to know about -- on top of what the file itself declares.-parseFileContentsWithExts :: [Extension] -> String -> ParseResult Module-parseFileContentsWithExts exts = parseFileContentsWithMode (defaultParseMode { extensions = exts })+parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)+parseFileContentsWithExts exts =+ parseFileContentsWithMode (defaultParseMode { extensions = exts }) -- | Parse a source file from a string using a custom parse mode.-parseFileContentsWithMode :: ParseMode -> String -> ParseResult Module+parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr = let md = delit fn $ ppContents rawStr (bLang, extraExts) =@@ -93,10 +109,10 @@ (False, Just (mLang, es)) -> (fromMaybe oldLang mLang, es) _ -> (oldLang, [])- in parseWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md+ in -- trace (fn ++ ": " ++ show extraExts) $+ parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md --- | Parse a source file from a string using a custom parse mode and retaining comments.-parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module, [Comment])+parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr = let md = delit fn $ ppContents rawStr (bLang, extraExts) =@@ -104,26 +120,7 @@ (False, Just (mLang, es)) -> (fromMaybe oldLang mLang, es) _ -> (oldLang, [])- in parseWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md---- | Parse a source file from a string using a custom parse mode retaining comments--- as well as unknown pragmas.-parseFileContentsWithCommentsAndPragmas :: ParseMode -> String -> ParseResult (Module, [Comment], [UnknownPragma])-parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult- where parseResult = parseFileContentsWithComments pmode str--{-- | Gather the extensions declared in LANGUAGE pragmas--- at the top of the file. Returns 'Nothing' if the--- parse of the pragmas fails.-readExtensions :: String -> Maybe [Extension]-readExtensions str = case getTopPragmas str of- ParseOk pgms -> Just (concatMap getExts pgms)- _ -> Nothing- where getExts :: ModulePragma -> [Extension]- getExts (LanguagePragma _ ns) = map readExt ns- getExts _ = []-- readExt (Ident e) = classifyExtension e -}+ in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md -- | Gather the extensions declared in LANGUAGE pragmas -- at the top of the file. Returns 'Nothing' if the@@ -132,11 +129,11 @@ readExtensions str = case getTopPragmas str of ParseOk pgms -> extractLang $ concatMap getExts pgms _ -> Nothing- where getExts :: ModulePragma -> [Either Language Extension]+ where getExts :: ModulePragma l -> [Either Language Extension] getExts (LanguagePragma _ ns) = map readExt ns getExts _ = [] - readExt (Ident e) =+ readExt (Ident _ e) = case classifyLanguage e of UnknownLanguage _ -> Right $ classifyExtension e lang -> Left lang@@ -159,9 +156,18 @@ delit :: String -> String -> String delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id +readUTF8File :: FilePath -> IO String+readUTF8File fp = do+ h <- openFile fp ReadMode+ hSetEncoding h utf8+ c <- hGetContents h >>= \s -> length s `seq` return s+ hClose h+ return c+ -- | Converts a parse result with comments to a parse result with comments and -- unknown pragmas.-separatePragmas :: ParseResult (Module, [Comment]) -> ParseResult (Module, [Comment], [UnknownPragma])+separatePragmas :: ParseResult (Module SrcSpanInfo, [Comment])+ -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma]) separatePragmas r = case r of ParseOk (m, comments) ->@@ -172,9 +178,3 @@ pragLike (Comment b _ s) = b && pcond s pcond s = length s > 1 && take 1 s == "#" && last s == '#' ParseFailed l s -> ParseFailed l s--readUTF8File :: FilePath -> IO String-readUTF8File fp = do- h <- openFile fp ReadMode- hSetEncoding h utf8- hGetContents h
− src/Language/Haskell/Exts/Annotated.hs
@@ -1,150 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts--- Copyright : (c) Niklas Broberg 2004-2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ An umbrella module for the various functionality--- of the package. Also provides some convenient--- functionality for dealing directly with source files.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated (- -- * Re-exported modules- module Language.Haskell.Exts.Annotated.Syntax- , module Language.Haskell.Exts.Annotated.Build- , module Language.Haskell.Exts.Parser- , module Language.Haskell.Exts.Lexer- , module Language.Haskell.Exts.Pretty- , module Language.Haskell.Exts.Annotated.Fixity- , module Language.Haskell.Exts.Annotated.ExactPrint- , module Language.Haskell.Exts.SrcLoc- , module Language.Haskell.Exts.Comments- , module Language.Haskell.Exts.Extension- , module Language.Haskell.Exts.Annotated.Parser- , module Language.Haskell.Exts.Annotated.Comments- -- * Parsing of Haskell source files- , parseFile- , parseFileWithMode- , parseFileWithExts- , parseFileWithComments- , parseFileContents- , parseFileContentsWithMode- , parseFileContentsWithExts- , parseFileContentsWithComments- -- * Read extensions declared in LANGUAGE pragmas- , readExtensions- ) where--import Language.Haskell.Exts.Annotated.Build-import Language.Haskell.Exts.Annotated.Comments-import Language.Haskell.Exts.Annotated.Parser-import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Parser ( Parseable(..), ParseResult(..), fromParseResult, ParseMode(..), defaultParseMode )-import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) )-import Language.Haskell.Exts.Pretty-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.Annotated.ExactPrint-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Extension-import Language.Haskell.Exts.Comments--import Data.List-import Data.Maybe (fromMaybe)-import Language.Preprocessor.Unlit-import System.IO---- | Parse a source file on disk, using the default parse mode.-parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp---- | Parse a source file on disk, with an extra set of extensions to know about--- on top of what the file itself declares.-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFileWithExts exts fp =- parseFileWithMode (defaultParseMode {- extensions = exts,- parseFilename = fp }) fp---- | Parse a source file on disk, supplying a custom parse mode.-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))-parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p--parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))-parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p---- | Parse a source file from a string using the default parse mode.-parseFileContents :: String -> ParseResult (Module SrcSpanInfo)-parseFileContents = parseFileContentsWithMode defaultParseMode---- | Parse a source file from a string, with an extra set of extensions to know about--- on top of what the file itself declares.-parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)-parseFileContentsWithExts exts =- parseFileContentsWithMode (defaultParseMode { extensions = exts })---- | Parse a source file from a string using a custom parse mode.-parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr =- let md = delit fn $ ppContents rawStr- (bLang, extraExts) =- case (ign, readExtensions md) of- (False, Just (mLang, es)) ->- (fromMaybe oldLang mLang, es)- _ -> (oldLang, [])- in -- trace (fn ++ ": " ++ show extraExts) $- parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md--parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr =- let md = delit fn $ ppContents rawStr- (bLang, extraExts) =- case (ign, readExtensions md) of- (False, Just (mLang, es)) ->- (fromMaybe oldLang mLang, es)- _ -> (oldLang, [])- in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md---- | Gather the extensions declared in LANGUAGE pragmas--- at the top of the file. Returns 'Nothing' if the--- parse of the pragmas fails.-readExtensions :: String -> Maybe (Maybe Language, [Extension])-readExtensions str = case getTopPragmas str of- ParseOk pgms -> extractLang $ concatMap getExts pgms- _ -> Nothing- where getExts :: ModulePragma l -> [Either Language Extension]- getExts (LanguagePragma _ ns) = map readExt ns- getExts _ = []-- readExt (Ident _ e) =- case classifyLanguage e of- UnknownLanguage _ -> Right $ classifyExtension e- lang -> Left lang- readExt Symbol {} = error "readExt: Symbol"-- extractLang = extractLang' Nothing []-- extractLang' lacc eacc [] = Just (lacc, eacc)- extractLang' Nothing eacc (Left l : rest) = extractLang' (Just l) eacc rest- extractLang' (Just l1) eacc (Left l2:rest)- | l1 == l2 = extractLang' (Just l1) eacc rest- | otherwise = Nothing- extractLang' lacc eacc (Right ext : rest) = extractLang' lacc (ext:eacc) rest--ppContents :: String -> String-ppContents = unlines . f . lines- where f (('#':_):rest) = rest- f x = x--delit :: String -> String -> String-delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id--readUTF8File :: FilePath -> IO String-readUTF8File fp = do- h <- openFile fp ReadMode- hSetEncoding h utf8- hGetContents h
− src/Language/Haskell/Exts/Annotated/Build.hs
@@ -1,291 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Build--- Copyright : (c) The GHC Team, 1997-2000,--- (c) Niklas Broberg 2004--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : experimental--- Portability : portable------ This module contains combinators to use when building--- Haskell source trees programmatically, as opposed to--- parsing them from a string. The contents here are quite--- experimental and will likely receive a lot of attention--- when the rest has stabilised.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Build (-- -- * Syntax building functions- name, -- :: String -> Name- sym, -- :: String -> Name- var, -- :: Name -> Exp- op, -- :: Name -> QOp- qvar, -- :: Module -> Name -> Exp- pvar, -- :: Name -> Pat- app, -- :: Exp -> Exp -> Exp- infixApp, -- :: Exp -> QOp -> Exp -> Exp- appFun, -- :: Exp -> [Exp] -> Exp- pApp, -- :: Name -> [Pat] -> Pat- tuple, -- :: [Exp] -> Exp- pTuple, -- :: [Pat] -> Pat- varTuple, -- :: [Name] -> Exp- pvarTuple, -- :: [Name] -> Pat- function, -- :: String -> Exp- strE, -- :: String -> Exp- charE, -- :: Char -> Exp- intE, -- :: Integer -> Exp- strP, -- :: String -> Pat- charP, -- :: Char -> Pat- intP, -- :: Integer -> Pat- doE, -- :: [Stmt] -> Exp- lamE, -- :: SrcLoc -> [Pat] -> Exp -> Exp- letE, -- :: [Decl] -> Exp -> Exp- caseE, -- :: Exp -> [Alt] -> Exp- alt, -- :: SrcLoc -> Pat -> Exp -> Alt- altGW, -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt- listE, -- :: [Exp] -> Exp- eList, -- :: Exp- peList, -- :: Pat- paren, -- :: Exp -> Exp- pParen, -- :: Pat -> Pat- qualStmt, -- :: Exp -> Stmt- genStmt, -- :: SrcLoc -> Pat -> Exp -> Stmt- letStmt, -- :: [Decl] -> Stmt- binds, -- :: [Decl] -> Binds- noBinds, -- :: Binds- wildcard, -- :: Pat- genNames, -- :: String -> Int -> [Name]-- -- * More advanced building- sfun, -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl- simpleFun, -- :: SrcLoc -> Name -> Name -> Exp -> Decl- patBind, -- :: SrcLoc -> Pat -> Exp -> Decl- patBindWhere, -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl- nameBind, -- :: SrcLoc -> Name -> Exp -> Decl- metaFunction, -- :: String -> [Exp] -> Exp- metaConPat -- :: String -> [Pat] -> Pat- ) where--import Language.Haskell.Exts.Annotated.Syntax---------------------------------------------------------------------------------- Help functions for Abstract syntax---- | An identifier with the given string as its name.--- The string should be a valid Haskell identifier.-name :: l -> String -> Name l-name = Ident---- | A symbol identifier. The string should be a valid--- Haskell symbol identifier.-sym :: l -> String -> Name l-sym = Symbol---- | A local variable as expression.-var :: l -> Name l -> Exp l-var l = Var l . UnQual l---- | Use the given identifier as an operator.-op :: l -> Name l -> QOp l-op l = QVarOp l . UnQual l---- | A qualified variable as expression.-qvar :: l -> ModuleName l -> Name l -> Exp l-qvar l m = Var l . Qual l m---- | A pattern variable.-pvar :: l -> Name l -> Pat l-pvar = PVar---- | Application of expressions by juxtaposition.-app :: l -> Exp l -> Exp l -> Exp l-app = App---- | Apply an operator infix.-infixApp :: l -> Exp l -> QOp l -> Exp l -> Exp l-infixApp = InfixApp---- | Apply a function to a list of arguments.-appFun :: [l] -> Exp l -> [Exp l] -> Exp l-appFun _ f [] = f-appFun (l:ls) f (a:as) = appFun ls (app l f a) as-appFun [] _ (_:_) = error "haskell-src-exts: Build: appFun: too few annotations supplied"---- | A constructor pattern, with argument patterns.-pApp :: l -> Name l -> [Pat l] -> Pat l-pApp l n = PApp l (UnQual l n)---- | A tuple expression.-tuple :: l -> [Exp l] -> Exp l-tuple l = Tuple l Boxed---- | A tuple pattern.-pTuple :: l -> [Pat l] -> Pat l-pTuple l = PTuple l Boxed---- | A tuple expression consisting of variables only.-varTuple :: l -> [Name l] -> Exp l-varTuple l ns = tuple l $ map (var l) ns---- | A tuple pattern consisting of variables only.-pvarTuple :: l -> [Name l] -> Pat l-pvarTuple l ns = pTuple l $ map (pvar l) ns---- | A function with a given name.-function :: l -> String -> Exp l-function l = var l . Ident l---- | A literal string expression.-strE :: l -> String -> Exp l-strE l s = Lit l $ String l s s---- | A literal character expression.-charE :: l -> Char -> Exp l-charE l c = Lit l $ Char l c [c]---- | A literal integer expression.-intE :: l -> Integer -> Exp l-intE l i = Lit l $ Int l i (show i)---- | A literal string pattern.-strP :: l -> String -> Pat l-strP l s = PLit l (Signless l) $ String l s s---- | A literal character pattern.-charP :: l -> Char -> Pat l-charP l c = PLit l (Signless l) $ Char l c [c]---- | A literal integer pattern.-intP :: l -> Integer -> Pat l-intP l i = PLit l (if i >= 0 then Signless l else Negative l) . Int l i . show . abs $ i---- | A do block formed by the given statements.--- The last statement in the list should be--- a 'Qualifier' expression.-doE :: l -> [Stmt l] -> Exp l-doE = Do---- | Lambda abstraction, given a list of argument--- patterns and an expression body.-lamE :: l -> [Pat l] -> Exp l -> Exp l-lamE = Lambda---- | A @let@ ... @in@ block.-letE :: l -> [Decl l] -> Exp l -> Exp l-letE l ds e = Let l (binds l ds) e---- | A @case@ expression.-caseE :: l -> Exp l -> [Alt l] -> Exp l-caseE = Case---- | An unguarded alternative in a @case@ expression.-alt :: l -> Pat l -> Exp l -> Alt l-alt l p e = Alt l p (unGAlt l e) Nothing---- | An alternative with a single guard in a @case@ expression.-altGW :: l -> Pat l -> [Stmt l] -> Exp l -> Binds l -> Alt l-altGW l p gs e w = Alt l p (gAlt l gs e) (Just w)---- | An unguarded righthand side of a @case@ alternative.-unGAlt :: l -> Exp l -> Rhs l-unGAlt = UnGuardedRhs---- | An list of guarded righthand sides for a @case@ alternative.-gAlts :: l -> [([Stmt l], Exp l)] -> Rhs l-gAlts l as = GuardedRhss l $ map (\(gs,e) -> GuardedRhs l gs e) as---- | A single guarded righthand side for a @case@ alternative.-gAlt :: l -> [Stmt l] -> Exp l -> Rhs l-gAlt l gs e = gAlts l [(gs,e)]---- | A list expression.-listE :: l -> [Exp l] -> Exp l-listE = List---- | The empty list expression.-eList :: l -> Exp l-eList l = List l []---- | The empty list pattern.-peList :: l -> Pat l-peList l = PList l []---- | Put parentheses around an expression.-paren :: l -> Exp l -> Exp l-paren = Paren---- | Put parentheses around a pattern.-pParen :: l -> Pat l -> Pat l-pParen = PParen---- | A qualifier expression statement.-qualStmt :: l -> Exp l -> Stmt l-qualStmt = Qualifier---- | A generator statement: /pat/ @<-@ /exp/-genStmt :: l -> Pat l -> Exp l -> Stmt l-genStmt = Generator---- | A @let@ binding group as a statement.-letStmt :: l -> [Decl l] -> Stmt l-letStmt l ds = LetStmt l $ binds l ds---- | Hoist a set of declarations to a binding group.-binds :: l -> [Decl l] -> Binds l-binds = BDecls---- | An empty binding group.-noBinds :: l -> Binds l-noBinds l = binds l []---- | The wildcard pattern: @_@-wildcard :: l -> Pat l-wildcard = PWildCard---- | Generate k names by appending numbers 1 through k to a given string.-genNames :: l -> String -> Int -> [Name l]-genNames l s k = [ Ident l $ s ++ show i | i <- [1..k] ]------------------------------------------------------------------------------------ Some more specialised help functions---- | A function with a single clause-sfun :: l -> Name l -> [Name l] -> Rhs l -> Maybe (Binds l) -> Decl l-sfun l f pvs rhs mbs = FunBind l [Match l f (map (pvar l) pvs) rhs mbs]---- | A function with a single clause, a single argument, no guards--- and no where declarations-simpleFun :: l -> Name l -> Name l -> Exp l -> Decl l-simpleFun l f a e = let rhs = UnGuardedRhs l e- in sfun l f [a] rhs Nothing---- | A pattern bind where the pattern is a variable, and where--- there are no guards and no 'where' clause.-patBind :: l -> Pat l -> Exp l -> Decl l-patBind l p e = let rhs = UnGuardedRhs l e- in PatBind l p rhs Nothing---- | A pattern bind where the pattern is a variable, and where--- there are no guards, but with a 'where' clause.-patBindWhere :: l -> Pat l -> Exp l -> [Decl l] -> Decl l-patBindWhere l p e ds = let rhs = UnGuardedRhs l e- in PatBind l p rhs (Just $ binds l ds)---- | Bind an identifier to an expression.-nameBind :: l -> Name l -> Exp l -> Decl l-nameBind l n e = patBind l (pvar l n) e---- | Apply function of a given name to a list of arguments.-metaFunction :: l -> String -> [Exp l] -> Exp l-metaFunction l' s' es' = mf l' s' (reverse es')- where mf l s [] = var l $ name l s- mf l s (e:es) = app l (mf l s es) e---- | Apply a constructor of a given name to a list of pattern--- arguments, forming a constructor pattern.-metaConPat :: l -> String -> [Pat l] -> Pat l-metaConPat l s ps = pApp l (name l s) ps
− src/Language/Haskell/Exts/Annotated/Comments.hs
@@ -1,176 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Comments--- Copyright : (c) JP Moresmau 2015--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : experimental--- Portability : portable------ This module processes comments along with an annotated AST,--- to be able to associate Haddock comments with the actual item--- they refer to.------ Example:------ @--- let--- parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])--- parse1Result =--- parseFileContentsWithComments--- (defaultParseMode { parseFilename = file })--- contents--- withC :: ParseResult (Module (SrcSpanInfo,[Comment]))--- withC = case parse1Result of--- ParseOk res -> ParseOk $ associateHaddock res--- ParseFailed sloc msg -> ParseFailed sloc msg--- @------ In this code sample, parse1Result is what you get when you parse a file:--- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments--- After passing the result to 'associateHaddock', you get a 'Module'--- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the--- specific AST node.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Comments- ( associateHaddock- ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Comments-import Language.Haskell.Exts.SrcLoc--import Data.Char (isSpace)-import Data.Traversable---- | Associates an AST with Source Span Information--- with relevant Haddock comments-associateHaddock- ::(Annotated ast,Traversable ast)- => (ast SrcSpanInfo,[Comment])- -> ast (SrcSpanInfo,[Comment])-associateHaddock (ast,[]) = fmap (\src->(src,[])) ast-associateHaddock (ast,comments) =- let- (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast- in snd $ mapAccumL merge (lastPost ca) assocs1----- | Merge existing association with post comment associations-merge- :: [(SrcSpanInfo,[Comment])]- -> (SrcSpanInfo,[Comment])- -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))-merge [] ret = ([],ret)-merge (x:xs) (src,cmts) =- if fst x == src- then (xs,(src,cmts ++ snd x))- else (x:xs,(src,cmts))----- | Ensure that if file ends with comment we process it-lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]-lastPost (CommentAccumulator (Post cmt : rest) past assocs) =- let (toMerge, _) = span isNone rest- psrc = matchPreviousSrc past- in (assocs ++ [(psrc, cmt : map hcComment toMerge)])-lastPost (CommentAccumulator _ _ assocs) = assocs----- | Accumulate comments mappings, either directly with the source--- or in another association list for later processing-associate1- :: CommentAccumulator- -> SrcSpanInfo- -> (CommentAccumulator,(SrcSpanInfo,[Comment]))-associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))-associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =- if isBefore hc src- then- let (toMerge,next) = getToMerge src rest- newAssoc = (src,cmt : map hcComment toMerge)- in (CommentAccumulator next [] assocs,newAssoc)- else (CommentAccumulator (hc:rest) [] assocs,(src,[]))-associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =- if isBefore hc src- then- let (toMerge,next) = getToMerge src rest- newAssocs =- if null past- then assocs- else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]- in associate1 (CommentAccumulator next [] newAssocs) src- else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))-associate1 (CommentAccumulator (_:rest) past assocs) src =- (CommentAccumulator rest (src:past) assocs,(src,[]))----- | The comment accumulator-data CommentAccumulator = CommentAccumulator- [HaddockComment] -- The Haddock comments to process- [SrcSpanInfo] -- The past src infos to resolve post comments- [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments----- | Create a new accumulator-newAccumulator :: [Comment] -> CommentAccumulator-newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []---- | Get comments to merge-getToMerge- :: SrcSpanInfo -- ^ Stop before src- -> [HaddockComment] -- ^ All remaining comments- -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs-getToMerge src = span (\hc-> isNone hc && isBefore hc src)----- | Get the biggest src that ends where the first one does-matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo-matchPreviousSrc [] =- error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"-matchPreviousSrc srcs =- let end = srcSpanEnd $ srcInfoSpan $ head srcs- in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs---- | Is a Haddock comment before a given location-isBefore :: HaddockComment -> SrcSpanInfo -> Bool-isBefore hc src=- let- (Comment _ csrc _) = hcComment hc- in csrc < srcInfoSpan src---- | Represents a Haddock Comment-data HaddockComment =- -- | Comment before declaration- Pre- {- hcComment::Comment- }- -- | Comment after declaration- | Post {- hcComment::Comment- }- -- | Non Haddock comment- | None {- hcComment::Comment- }---- | Is a comment not haddock?-isNone :: HaddockComment -> Bool-isNone (None _) = True-isNone _ = False----- | Comments to Haddock Comments-commentsToHaddock :: [Comment] -> [HaddockComment]-commentsToHaddock = map commentToHaddock---- | Comment to Haddock Comment-commentToHaddock :: Comment -> HaddockComment-commentToHaddock c@(Comment _ _ txt) =- case dropWhile isSpace txt of- ('|':_) -> Pre c- ('^':_) -> Post c- _ -> None c
− src/Language/Haskell/Exts/Annotated/ExactPrint.hs
@@ -1,2138 +0,0 @@-{-# LANGUAGE DeriveFunctor #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.ExactPrint--- Copyright : (c) Niklas Broberg 2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)--- abstract syntax tree, annotated with exact source information to enable--- printing the tree exactly as it was parsed.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.ExactPrint- ( exactPrint- , ExactP- ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Comments--import Control.Monad (when, liftM, ap, unless)-import Control.Applicative (Applicative(..))-import Control.Arrow ((***), (&&&))-import Prelude hiding (exp)-import Data.List (intersperse)---- import Debug.Trace (trace)----------------------------------------------------------- The EP monad and basic combinators--type Pos = (Int,Int)--pos :: (SrcInfo loc) => loc -> Pos-pos ss = (startLine ss, startColumn ss)--newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))--instance Functor EP where- fmap = liftM--instance Applicative EP where- pure = return- (<*>) = ap--instance Monad EP where- return x = EP $ \l cs -> (x, l, cs, id)-- EP m >>= k = EP $ \l0 c0 -> let- (a, l1, c1, s1) = m l0 c0- EP f = k a- (b, l2, c2, s2) = f l1 c1- in (b, l2, c2, s1 . s2)--runEP :: EP () -> [Comment] -> String-runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""--getPos :: EP Pos-getPos = EP (\l cs -> (l,l,cs,id))--setPos :: Pos -> EP ()-setPos l = EP (\_ cs -> ((),l,cs,id))--printString :: String -> EP ()-printString str =- EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str- go (cl, _) '\n' = (cl + 1, 1)- go (cl, cc) _ = (cl, cc + 1)- in ((), (l', c'), cs, showString str))---getComment :: EP (Maybe Comment)-getComment = EP $ \l cs ->- let x = case cs of- c:_ -> Just c- _ -> Nothing- in (x, l, cs, id)--dropComment :: EP ()-dropComment = EP $ \l cs ->- let cs' = case cs of- (_:cs1) -> cs1- _ -> cs- in ((), l, cs', id)--newLine :: EP ()-newLine = do- (l,_) <- getPos- printString "\n"- setPos (l+1,1)--padUntil :: Pos -> EP ()-padUntil (l,c) = do- (l1,c1) <- getPos- case {- trace (show ((l,c), (l1,c1))) -} () of- _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '- | l1 < l -> newLine >> padUntil (l,c)- | otherwise -> return ()---mPrintComments :: Pos -> EP ()-mPrintComments p = do- mc <- getComment- case mc of- Nothing -> return ()- Just (Comment multi s str) ->- when (pos s < p) $ do- dropComment- padUntil (pos s)- printComment multi str- setPos (srcSpanEndLine s, srcSpanEndColumn s)- mPrintComments p--printComment :: Bool -> String -> EP ()-printComment b str- | b = printString $ "{-" ++ str ++ "-}"- | otherwise = printString $ "--" ++ str--printWhitespace :: Pos -> EP ()-printWhitespace p = mPrintComments p >> padUntil p--printStringAt :: Pos -> String -> EP ()-printStringAt p str = printWhitespace p >> printString str--errorEP :: String -> EP a-errorEP = fail----------------------------------------------------------------------------------- Printing of source elements---- | Print an AST exactly as specified by the annotations on the nodes in the tree.-exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String-exactPrint ast = runEP (exactPC ast)--exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()-exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast--printSeq :: [(Pos, EP ())] -> EP ()-printSeq [] = return ()-printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs--printStrs :: SrcInfo loc => [(loc, String)] -> EP ()-printStrs = printSeq . map (pos *** printString)--printPoints :: SrcSpanInfo -> [String] -> EP ()-printPoints l = printStrs . zip (srcInfoPoints l)--printInterleaved, printInterleaved' :: (Annotated ast, ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()-printInterleaved sistrs asts = printSeq $- interleave (map (pos *** printString ) sistrs)- (map (pos . ann &&& exactP) asts)--printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts-printInterleaved' _ _ = internalError "printInterleaved'"--printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()-printStreams [] ys = printSeq ys-printStreams xs [] = printSeq xs-printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)- | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)- | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys---interleave :: [a] -> [a] -> [a]-interleave [] ys = ys-interleave xs [] = xs-interleave (x:xs) (y:ys) = x:y: interleave xs ys--maybeEP :: (a -> EP ()) -> Maybe a -> EP ()-maybeEP = maybe (return ())--bracketList :: (Annotated ast, ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts--pList :: [a] -> (b, b, b) -> [(a, b)]-pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)-pList _ _ = internalError "pList"-pList' :: [a] -> (b, b) -> [(a, b)]-pList' [] _ = []-pList' [p] (_,c) = [(p,c)]-pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)--parenList, squareList, squareColonList, curlyList, parenHashList :: (Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-parenList = bracketList ("(",",",")")-squareList = bracketList ("[",",","]")-squareColonList = bracketList ("[:",",",":]")-curlyList = bracketList ("{",",","}")-parenHashList = bracketList ("(#",",","#)")--layoutList :: (Functor ast, Show (ast ()), Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()-layoutList poss asts = printStreams- (map (pos *** printString) $ lList poss)- (map (pos . ann &&& exactP) asts)--lList :: [SrcSpan] -> [(SrcSpan, String)]-lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps-lList _ = internalError "lList"-lList' :: [SrcSpan] -> [(SrcSpan, String)]-lList' [] = []-lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]-lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps--printSemi :: SrcSpan -> EP ()-printSemi p = do- printWhitespace (pos p)- unless (isNullSpan p) $ printString ";"-------------------------------------------------------- Exact printing--class Annotated ast => ExactP ast where- exactP :: ast SrcSpanInfo -> EP ()--instance ExactP Literal where- exactP lit = case lit of- Char _ _ rw -> printString ('\'':rw ++ "\'")- String _ _ rw -> printString ('\"':rw ++ "\"")- Int _ _ rw -> printString rw- Frac _ _ rw -> printString rw- PrimInt _ _ rw -> printString (rw ++ "#" )- PrimWord _ _ rw -> printString (rw ++ "##")- PrimFloat _ _ rw -> printString (rw ++ "#" )- PrimDouble _ _ rw -> printString (rw ++ "##")- PrimChar _ _ rw -> printString ('\'':rw ++ "\'#" )- PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )--instance ExactP Sign where- exactP sg = case sg of- Signless _ -> return ()- Negative l -> printStringAt (pos l) "-"--instance ExactP ModuleName where- exactP (ModuleName _ str) = printString str--instance ExactP SpecialCon where- exactP sc = case sc of- UnitCon l -> printPoints l ["(",")"]- ListCon l -> printPoints l ["[","]"]- FunCon l -> case srcInfoPoints l of- [_,b,_] -> printStringAt (pos b) "->"- _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"- TupleCon l b n -> printPoints l $- case b of- Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]- _ -> "(" : replicate (n-1) "," ++ [")"]- Cons _ -> printString ":"- UnboxedSingleCon l -> printPoints l ["(#","#)"]--isSymbol :: Name l -> Bool-isSymbol (Symbol _ _) = True-isSymbol _ = False--getName :: QName l -> Name l-getName (UnQual _ s) = s-getName (Qual _ _ s) = s-getName (Special l (Cons _)) = Symbol l ":"-getName (Special l (FunCon _)) = Symbol l "->"-getName (Special l s) = Ident l (specialName s)--specialName :: SpecialCon l -> String-specialName (UnitCon _) = "()"-specialName (ListCon _) = "[]"-specialName (FunCon _) = "->"-specialName (TupleCon _ b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"- where hash = case b of- Unboxed -> "#"- _ -> ""-specialName (Cons _) = ":"-specialName (UnboxedSingleCon _) = "(# #)"--instance ExactP QName where- exactP qn- | isSymbol (getName qn) =- case srcInfoPoints (ann qn) of- [_,b,c] -> do- printString "("- printWhitespace (pos b)- epQName qn- printStringAt (pos c) ")"- _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"- | otherwise = epQName qn--epQName :: QName SrcSpanInfo -> EP ()-epQName qn = case qn of- Qual _ mn n -> exactP mn >> printString "." >> epName n- UnQual _ n -> epName n- Special _ sc -> exactP sc--epInfixQName :: QName SrcSpanInfo -> EP ()-epInfixQName qn- | isSymbol (getName qn) = printWhitespace (pos (ann qn)) >> epQName qn- | otherwise =- case srcInfoPoints (ann qn) of- [a,b,c] -> do- printStringAt (pos a) "`"- printWhitespace (pos b)- epQName qn- printStringAt (pos c) "`"- _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"--instance ExactP Name where- exactP n = case n of- Ident _ str -> printString str- Symbol l str ->- case srcInfoPoints l of- [_,b,c] -> do- printString "("- printWhitespace (pos b)- printString str- printStringAt (pos c) ")"- [] -> printString str- _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"--epName :: Name SrcSpanInfo -> EP ()-epName (Ident _ str) = printString str-epName (Symbol _ str) = printString str--epInfixName :: Name SrcSpanInfo -> EP ()-epInfixName n- | isSymbol n = printWhitespace (pos (ann n)) >> epName n- | otherwise =- case srcInfoPoints (ann n) of- [a,b,c] -> do- printStringAt (pos a) "`"- printWhitespace (pos b)- epName n- printStringAt (pos c) "`"- _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"--instance ExactP IPName where- exactP ipn = case ipn of- IPDup _ str -> printString $ '?':str- IPLin _ str -> printString $ '%':str--instance ExactP QOp where- exactP qop = case qop of- QVarOp _ qn -> epInfixQName qn- QConOp _ qn -> epInfixQName qn--instance ExactP Op where- exactP op = case op of- VarOp _ n -> epInfixName n- ConOp _ n -> epInfixName n----instance ExactP CName where- exactP cn = case cn of- VarName _ n -> exactP n- ConName _ n -> exactP n--instance ExactP Namespace where- exactP ns = case ns of- NoNamespace _ -> return ()- TypeNamespace l -> printStringAt (pos l) "type"- PatternNamespace l -> printStringAt (pos l) "pattern"--instance ExactP ExportSpec where- exactP espec = case espec of- EVar _ qn -> exactPC qn- EAbs _ ns qn -> exactP ns >> exactPC qn- EThingAll l qn -> exactP qn >> printPoints l ["(","..",")"]- EThingWith l qn cns ->- let k = length (srcInfoPoints l)- in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns- EModuleContents _ mn -> printString "module" >> exactPC mn--instance ExactP ExportSpecList where- exactP (ExportSpecList l ess) =- let k = length (srcInfoPoints l)- in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess--instance ExactP ImportSpecList where- exactP (ImportSpecList l hid ispecs) = do- let pts = srcInfoPoints l- pts1 <- if hid then do- let (x:pts') = pts- printStringAt (pos x) "hiding"- return pts'- else return pts- let k = length pts1- printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs--instance ExactP ImportSpec where- exactP ispec = case ispec of- IVar _ qn -> exactPC qn- IAbs _ ns n -> exactP ns >> exactPC n- IThingAll l n -> exactP n >> printPoints l ["(","..",")"]- IThingWith l n cns ->- let k = length (srcInfoPoints l)- in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns--instance ExactP ImportDecl where- exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do- printString "import"- case srcInfoPoints l of- (_:pts) -> do- pts1 <- if src then- case pts of- x:y:pts' -> do- printStringAt (pos x) "{-# SOURCE"- printStringAt (pos y) "#-}"- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- else return pts- pts2 <- if safe then- case pts1 of- x:pts' -> do- printStringAt (pos x) "safe"- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- else return pts1- pts3 <- if qf then- case pts2 of- x:pts' -> do- printStringAt (pos x) "qualified"- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- else return pts2- pts4 <- case mpkg of- Just pkg ->- case pts3 of- x:pts' -> do- printStringAt (pos x) $ show pkg- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- _ -> return pts3- exactPC mn- _ <- case mas of- Just as ->- case pts4 of- x:pts' -> do- printStringAt (pos x) "as"- exactPC as- return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- _ -> return pts4- case mispecs of- Nothing -> return ()- Just ispecs -> exactPC ispecs- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"--instance ExactP Module where- exactP mdl = case mdl of- Module l mmh oss ids decls -> do- let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)- layoutList oPts oss- maybeEP exactPC mmh- printStreams (map (pos *** printString) $ lList pts)- (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))- XmlPage l _mn oss xn attrs mat es -> do- let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l- case pPts of- [a,b,c,d,e] -> do- layoutList oPts oss- printStringAt (pos a) "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"- XmlHybrid l mmh oss ids decls xn attrs mat es -> do- let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)- layoutList oPts oss- maybeEP exactPC mmh- let (dPts, pPts) = splitAt (length pts - 5) pts- case pPts of- [a,b,c,d,e] -> do- printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)- (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))-- printStringAt (pos a) "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"--instance ExactP ModuleHead where- exactP (ModuleHead l mn mwt mess) =- case srcInfoPoints l of- [a,b] -> do- printStringAt (pos a) "module"- exactPC mn- maybeEP exactPC mwt- maybeEP exactPC mess- printStringAt (pos b) "where"- _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"--instance ExactP ModulePragma where- exactP op = case op of- LanguagePragma l ns ->- let pts = srcInfoPoints l- k = length ns - 1 -- number of commas- m = length pts - k - 2 -- number of virtual semis, likely 0- in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns- OptionsPragma l mt str ->- let k = length (srcInfoPoints l)- -- We strip out a leading space in the lexer unless the pragma- -- starts with a newline.- addSpace xs@('\n':_) = xs- addSpace xs = ' ':xs- opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str- in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]- AnnModulePragma l ann' ->- case srcInfoPoints l of- [_,b] -> do- printString "{-# ANN"- exactPC ann'- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"--instance ExactP WarningText where- exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]- exactP (WarnText l str) = printPoints l ["{-# WARNING", str, "#-}"]--instance ExactP Assoc where- exactP a = case a of- AssocNone _ -> printString "infix"- AssocLeft _ -> printString "infixl"- AssocRight _ -> printString "infixr"--instance ExactP DataOrNew where- exactP (DataType _) = printString "data"- exactP (NewType _) = printString "newtype"--instance ExactP TypeEqn where- exactP (TypeEqn l t1 t2) =- case srcInfoPoints l of- [a] -> do- exactPC t1- printStringAt (pos a) "="- exactPC t2- _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"--instance ExactP Decl where- exactP decl = case decl of- TypeDecl l dh t ->- case srcInfoPoints l of- [a,b] -> do- printStringAt (pos a) "type"- exactPC dh- printStringAt (pos b) "="- exactPC t- _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"- TypeFamDecl l dh mk ->- case srcInfoPoints l of- a:b:ps -> do- printStringAt (pos a) "type"- printStringAt (pos b) "family"- exactPC dh- maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk- _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"- ClosedTypeFamDecl l dh mk eqns ->- case srcInfoPoints l of- a:b:c:ps -> do- printStringAt (pos a) "type"- printStringAt (pos b) "family"- exactPC dh- maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk- printStringAt (pos c) "where"- mapM_ exactP eqns- _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"- DataDecl l dn mctxt dh constrs mder -> do- exactP dn- maybeEP exactPC mctxt- exactPC dh- -- the next line works for empty data types since the srcInfoPoints will be empty then- printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs- maybeEP exactPC mder- GDataDecl l dn mctxt dh mk gds mder -> do- let pts = srcInfoPoints l- exactP dn- maybeEP exactPC mctxt- exactPC dh- pts1 <- case mk of- Nothing -> return pts- Just kd -> case pts of- p:pts' -> do- printStringAt (pos p) "::"- exactPC kd- return pts'- _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"- case pts1 of- x:pts' -> do- printStringAt (pos x) "where"- layoutList pts' gds- maybeEP exactPC mder- _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"- DataFamDecl l mctxt dh mk -> do- printString "data"- maybeEP exactPC mctxt- exactPC dh- maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk- TypeInsDecl l t1 t2 ->- case srcInfoPoints l of- [_,b,c] -> do- printString "type"- printStringAt (pos b) "instance"- exactPC t1- printStringAt (pos c) "="- exactPC t2- _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"- DataInsDecl l dn t constrs mder ->- case srcInfoPoints l of- p:pts -> do- exactP dn- printStringAt (pos p) "instance"- exactPC t- printInterleaved (zip pts ("=": repeat "|")) constrs- maybeEP exactPC mder- _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"- GDataInsDecl l dn t mk gds mder ->- case srcInfoPoints l of- p:pts -> do- exactP dn- printStringAt (pos p) "instance"- exactPC t- pts1 <- case mk of- Nothing -> return pts- Just kd -> case pts of- p':pts' -> do- printStringAt (pos p') "::"- exactPC kd- return pts'- _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"- case pts1 of- x:pts' -> do- printStringAt (pos x) "where"- layoutList pts' gds- maybeEP exactPC mder- _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"- _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"- ClassDecl l mctxt dh fds mcds ->- case srcInfoPoints l of- _:pts -> do- printString "class"- maybeEP exactPC mctxt- exactPC dh- _ <- case fds of- [] -> return pts- _ -> do- let (pts1, pts2) = splitAt (length fds) pts- printInterleaved (zip pts1 ("|":repeat ",")) fds- return pts2- maybeEP (\cds ->- case pts of- p:pts' -> do- printStringAt (pos p) "where"- layoutList pts' $ sepClassFunBinds cds- _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"- ) mcds- _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"- InstDecl l movlp ih mids ->- case srcInfoPoints l of- _:pts -> do- printString "instance"- maybeEP exactPC movlp- exactPC ih- maybeEP (\ids -> do- let (p:pts') = pts- printStringAt (pos p) "where"- layoutList pts' $ sepInstFunBinds ids- ) mids- _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"- DerivDecl l movlp ih ->- case srcInfoPoints l of- [_,b] -> do- printString "deriving"- printStringAt (pos b) "instance"- maybeEP exactPC movlp- exactPC ih- _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"- InfixDecl l assoc mprec ops -> do- let pts = srcInfoPoints l- exactP assoc- pts1 <- case mprec of- Nothing -> return pts- Just prec ->- case pts of- p:pts' -> do- printStringAt (pos p) (show prec)- return pts'- _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"- printInterleaved' (zip pts1 (repeat ",")) ops- DefaultDecl l ts ->- case srcInfoPoints l of- _:pts -> do- printString "default"- printInterleaved (zip (init pts) ("(":repeat ",")) ts- printStringAt (pos (last pts)) ")"- _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"- SpliceDecl _ spl -> exactP spl- TypeSig l ns t -> do- let pts = srcInfoPoints l- printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns- exactPC t- PatSynSig l n dh c1 c2 t -> do- case srcInfoPoints l of- (pat:dc:pts1) -> do- printStringAt (pos pat) "pattern"- exactPC n- printStringAt (pos dc) "::"- case dh of- Nothing -> return ()- Just tvs ->- case pts1 of- (a:b:_) -> do- printStringAt (pos a) "forall"- mapM_ exactPC tvs- printStringAt (pos b) "."- _ -> errorEP "ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints"- maybeEP exactPC c1- maybeEP exactPC c2- exactPC t- _ -> errorEP "ExactP: Decl: PatSynSig: is given too few srcInfoPoints"- FunBind _ ms -> mapM_ exactPC ms- PatBind l p rhs mbs -> do- let pts = srcInfoPoints l- exactP p- exactPC rhs- maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs- PatSyn l lhs rhs dir ->- case srcInfoPoints l of- [pat,sepPos] -> do- let sep = case dir of- ImplicitBidirectional -> "="- ExplicitBidirectional _ _ -> "<-"- Unidirectional -> "<-"- printStringAt (pos pat) "pattern"- exactPC lhs- printStringAt (pos sepPos) sep- exactPC rhs- case dir of- ExplicitBidirectional bl ds -> do- case srcInfoPoints bl of- (w:pts) -> do- printStringAt (pos w) "where"- layoutList pts ds- _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"- _ -> return ()- _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"- ForImp l cc msf mstr n t ->- case srcInfoPoints l of- _:b:pts -> do- printString "foreign"- printStringAt (pos b) "import"- exactPC cc- maybeEP exactPC msf- pts1 <- case mstr of- Nothing -> return pts- Just str -> case pts of- x:pts' -> do- printStringAt (pos x) (show str)- return pts'- _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"- case pts1 of- y:_ -> do- exactPC n- printStringAt (pos y) "::"- exactPC t- _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"- _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"- ForExp l cc mstr n t ->- case srcInfoPoints l of- _:b:pts -> do- printString "foreign"- printStringAt (pos b) "export"- exactPC cc- pts1 <- case mstr of- Nothing -> return pts- Just str -> case pts of- x:pts' -> do- printStringAt (pos x) (show str)- return pts'- _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"- case pts1 of- y:_ -> do- exactPC n- printStringAt (pos y) "::"- exactPC t- _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"- _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"- RulePragmaDecl l rs ->- case srcInfoPoints l of- [_,b] -> do- printString "{-# RULES"- mapM_ exactPC rs- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"- DeprPragmaDecl l nstrs ->- case srcInfoPoints l of- _:pts -> do- printString "{-# DEPRECATED"- printWarndeprs (map pos (init pts)) nstrs- printStringAt (pos (last pts)) "#-}"- _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"- WarnPragmaDecl l nstrs ->- case srcInfoPoints l of- _:pts -> do- printString "{-# WARNING"- printWarndeprs (map pos (init pts)) nstrs- printStringAt (pos (last pts)) "#-}"- _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"- InlineSig l inl mact qn ->- case srcInfoPoints l of- [_,b] -> do- printString $ if inl then "{-# INLINE" else "{-# NOINLINE"- maybeEP exactPC mact- exactPC qn- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"- InlineConlikeSig l mact qn ->- case srcInfoPoints l of- [_,b] -> do- printString "{-# INLINE CONLIKE"- maybeEP exactPC mact- exactPC qn- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"- SpecSig l mact qn ts ->- case srcInfoPoints l of- _:pts -> do- printString "{-# SPECIALISE"- maybeEP exactPC mact- exactPC qn- printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts- _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"- SpecInlineSig l b mact qn ts ->- case srcInfoPoints l of- _:pts -> do- printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"- maybeEP exactPC mact- exactPC qn- printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts- _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"- InstSig l ih ->- case srcInfoPoints l of- [_,b,c] -> do- printString "{-# SPECIALISE"- printStringAt (pos b) "instance"- exactPC ih- printStringAt (pos c) "#-}"- _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"- AnnPragma l ann' ->- case srcInfoPoints l of- [_,b] -> do- printString "{-# ANN"- exactPC ann'- printStringAt (pos b) "#-}"- _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"- MinimalPragma l b ->- case srcInfoPoints l of- [_,b'] -> do- printString "{-# MINIMAL"- maybeEP exactPC b- printStringAt (pos b') "#-}"- _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"- RoleAnnotDecl l ty roles ->- case srcInfoPoints l of- (t:r:_) -> do- printStringAt (pos t) "type"- printStringAt (pos r) "role"- exactPC ty- mapM_ exactPC roles- _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"--instance ExactP Role where- exactP r =- case r of- RoleWildcard l -> printStringAt (pos l) "_"- Representational l -> printStringAt (pos l) "representational"- Phantom l -> printStringAt (pos l) "phantom"- Nominal l -> printStringAt (pos l) "nominal"---instance ExactP Annotation where- exactP ann' = case ann' of- Ann _ n e -> do- exactP n- exactPC e- TypeAnn _ n e -> do- printString "type"- exactPC n- exactPC e- ModuleAnn _ e -> do- printString "module"- exactPC e--instance ExactP BooleanFormula where- exactP b' = case b' of- VarFormula _ n -> exactPC n- AndFormula l bs ->- let pts = srcInfoPoints l- in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)- OrFormula l bs ->- let pts = srcInfoPoints l- in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)- ParenFormula l b ->- case srcInfoPoints l of- [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"- _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"--printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()-printWarndeprs _ [] = return ()-printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'- where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()- printWd (p:ps) [] str nsts = printStringAt p (show str) >> printWarndeprs ps nsts- printWd ps [n] str nsts = exactPC n >> printWd ps [] str nsts- printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts- printWd _ _ _ _ = internalError "printWd"---sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]-sepFunBinds [] = []-sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds-sepFunBinds (d:ds) = d : sepFunBinds ds--sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]-sepClassFunBinds [] = []-sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds-sepClassFunBinds (d:ds) = d : sepClassFunBinds ds--sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]-sepInstFunBinds [] = []-sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds-sepInstFunBinds (d:ds) = d : sepInstFunBinds ds--instance ExactP DeclHead where- exactP dh' = case dh' of- DHead _ n -> exactP n- DHInfix _ tva n -> exactP tva >> epInfixName n- DHParen l dh ->- case srcInfoPoints l of- [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"- _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"- DHApp _ dh t -> exactP dh >> exactPC t--instance ExactP InstRule where- exactP ih' = case ih' of- IRule l mtvs mctxt qn -> do- let pts = srcInfoPoints l- _ <- case mtvs of- Nothing -> return pts- Just tvs ->- case pts of- [a,b] -> do- printStringAt (pos a) "forall"- mapM_ exactPC tvs- printStringAt (pos b) "."- return pts- _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"- maybeEP exactPC mctxt- exactPC qn- IParen l ih ->- case srcInfoPoints l of- [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"- _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"--instance ExactP InstHead where- exactP doih' = case doih' of- IHCon _ qn -> exactPC qn- IHInfix _ ta qn -> exactPC ta >> epInfixQName qn- IHParen l doih ->- case srcInfoPoints l of- [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"- _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"- IHApp _ doih t -> exactPC doih >> exactPC t--instance ExactP TyVarBind where- exactP (KindedVar l n k) =- case srcInfoPoints l of- [_,b,c] -> do- printString "("- exactPC n- printStringAt (pos b) "::"- exactPC k- printStringAt (pos c) ")"- _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"- exactP (UnkindedVar l n) =- case srcInfoPoints l of- [a,_,c] -> do- printStringAt (pos a) "("- exactPC n- printStringAt (pos c) ")"- [] -> exactPC n- _ -> errorEP "ExactP: TyVarBind: UnkindedVar is given wrong number of srcInfoPoints"--instance ExactP Kind where- exactP kd' = case kd' of- KindStar _ -> printString "*"- KindFn l k1 k2 ->- case srcInfoPoints l of- [a] -> do- exactP k1- printStringAt (pos a) "->"- exactPC k2- _ -> errorEP "ExactP: Kind: KindFn is given wrong number of srcInfoPoints"- KindParen l kd ->- case srcInfoPoints l of- [_,b] -> do- printString "("- exactPC kd- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Kind: KindParen is given wrong number of srcInfoPoints"- KindVar _ n -> epQName n- KindApp _ k1 k2 -> do- exactP k1- exactPC k2- KindTuple l ks ->- let o = "("- e = ")"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) ks- KindList l k ->- case srcInfoPoints l of- [_, close] -> do- printString "["- exactPC k- printStringAt (pos close) "]"- _ -> errorEP "ExactP: Kind: KindList is given wrong number of srcInfoPoints"----instance ExactP Type where- exactP t' = case t' of- TyForall l mtvs mctxt t -> do- let pts = srcInfoPoints l- _ <- case mtvs of- Nothing -> return pts- Just tvs ->- case pts of- _:b:pts' -> do- printString "forall"- mapM_ exactPC tvs- printStringAt (pos b) "."- return pts'- _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"- maybeEP exactPC mctxt- exactPC t- TyFun l t1 t2 ->- case srcInfoPoints l of- [a] -> do- exactP t1- printStringAt (pos a) "->"- exactPC t2- _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"- TyTuple l bx ts ->- case bx of- Boxed -> parenList (srcInfoPoints l) ts- Unboxed -> parenHashList (srcInfoPoints l) ts- TyList l t ->- case srcInfoPoints l of- [_,b] -> do- printString "["- exactPC t- printStringAt (pos b) "]"- _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"- TyParArray l t ->- case srcInfoPoints l of- [_,b] -> do- printString "[:"- exactPC t- printStringAt (pos b) ":]"- _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"- TyApp _ t1 t2 -> exactP t1 >> exactPC t2- TyVar _ n -> exactP n- TyCon _ qn -> exactP qn- TyParen l t ->- case srcInfoPoints l of- [_,b] -> do- printString "("- exactPC t- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"- TyInfix _ t1 qn t2 -> exactP t1 >> epInfixQName qn >> exactPC t2- TyKind l t kd ->- case srcInfoPoints l of- [_,b,c] -> do- printString "("- exactPC t- printStringAt (pos b) "::"- exactPC kd- printStringAt (pos c) ")"- _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"- TyPromoted _ p -> exactPC p- TyEquals l t0 t1 -> case srcInfoPoints l of- a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1- _ -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"-- TySplice _ sp -> exactP sp- TyBang _ b t -> exactPC b >> exactPC t- TyWildCard _ mn -> printString "_" >> maybeEP exactPC mn--instance ExactP Promoted where- exactP (PromotedInteger _ _ rw) = printString rw- exactP (PromotedString _ _ rw) = printString ('\"':rw ++ "\"")- exactP (PromotedCon l True qn) = case srcInfoPoints l of- [a] -> printStringAt (pos a) "'" >> epQName qn- _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"- exactP (PromotedCon _ False qn) = epQName qn- exactP (PromotedList l b pl) =- let o | b = "'[" | otherwise = "["- e = "]"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl- exactP (PromotedTuple l pl) =- let o = "'("- e = ")"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl- exactP (PromotedUnit l) = case srcInfoPoints l of- [_,b] -> do- printString "("- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"---instance ExactP Context where- exactP ctxt = do- printContext ctxt- printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"--printContext :: Context SrcSpanInfo -> EP ()-printContext ctxt = do- let l = ann ctxt- pts = init $ srcInfoPoints l- case ctxt of- CxSingle _ asst -> exactP asst- CxEmpty _ ->- case pts of- [a,b] -> do- printStringAt (pos a) "("- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"- CxTuple _ assts -> parenList pts assts---instance ExactP Asst where- exactP asst = case asst of- ClassA _ qn ts -> exactP qn >> mapM_ exactPC ts- AppA _ n ns -> exactPC n >> mapM_ exactPC ns- InfixA _ ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb- IParam l ipn t ->- case srcInfoPoints l of- [a] -> do- exactP ipn- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"- EqualP l t1 t2 ->- case srcInfoPoints l of- [a] -> do- exactP t1- printStringAt (pos a) "~"- exactPC t2- _ -> internalError "Asst -> EqualP"- ParenA l asst' ->- case take 2 $ srcInfoPoints l of- [a,b] -> do- printStringAt (pos a) "("- exactPC asst'- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"- WildCardA _ mn -> printString "_" >> maybeEP exactPC mn--instance ExactP Deriving where- exactP (Deriving l ihs) =- case srcInfoPoints l of- _:pts -> do- printString "deriving"- case pts of- [] -> exactPC $ head ihs- _ -> parenList pts ihs- _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"--instance ExactP ClassDecl where- exactP cdecl = case cdecl of- ClsDecl _ d -> exactP d- ClsDataFam l mctxt dh mk ->- case srcInfoPoints l of- _:pts -> do- printString "data"- maybeEP exactPC mctxt- exactPC dh- maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk- _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"- ClsTyFam l dh mk ->- case srcInfoPoints l of- _:pts -> do- printString "type"- exactPC dh- maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk- _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"- ClsTyDef l t1 t2 ->- case srcInfoPoints l of- _:b:c:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"- printString "type"- printStringAt (pos b) "instance"- exactPC t1- printStringAt (pos c) "="- exactPC t2- _:b:_ -> do- printString "type"- exactPC t1- printStringAt (pos b) "="- exactPC t2- _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"- ClsDefSig l n t ->- case srcInfoPoints l of- _:b:_ -> do- printString "default"- exactPC n- printStringAt (pos b) "::"- exactPC t- _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"---instance ExactP InstDecl where- exactP idecl = case idecl of- InsDecl _ d -> exactP d- InsType l t1 t2 ->- case srcInfoPoints l of- [_,b] -> do- printString "type"- exactPC t1- printStringAt (pos b) "="- exactPC t2- _ -> internalError "InstDecl -> InsType"- InsData l dn t constrs mder -> do- exactP dn- exactPC t- printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs- maybeEP exactPC mder- InsGData l dn t mk gds mder -> do- let pts = srcInfoPoints l- exactP dn- exactPC t- pts1 <- case mk of- Nothing -> return pts- Just kd -> case pts of- p:pts' -> do- printStringAt (pos p) "::"- exactPC kd- return pts'- _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"- case pts1 of- x:_ -> do- printStringAt (pos x) "where"- mapM_ exactPC gds- maybeEP exactPC mder- _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"--- InsInline l inl mact qn -> do--- case srcInfoPoints l of--- [a,b] -> do--- printString $ if inl then "{-# INLINE" else "{-# NOINLINE"--- maybeEP exactPC mact--- exactPC qn--- printStringAt (pos b) "#-}"--- _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"--instance ExactP FunDep where- exactP (FunDep l nxs nys) =- case srcInfoPoints l of- [a] -> do- mapM_ exactPC nxs- printStringAt (pos a) "->"- mapM_ exactPC nys- _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"--instance ExactP QualConDecl where- exactP (QualConDecl l mtvs mctxt cd) = do- let pts = srcInfoPoints l- _ <- case mtvs of- Nothing -> return pts- Just tvs ->- case pts of- _:b:pts' -> do- printString "forall"- mapM_ exactPC tvs- printStringAt (pos b) "."- return pts'- _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"- maybeEP exactPC mctxt- exactPC cd--instance ExactP ConDecl where- exactP cd = case cd of- ConDecl _ n bts -> exactP n >> mapM_ exactPC bts- InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb- RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds--instance ExactP GadtDecl where- exactP (GadtDecl l n ns' t) =- case ns' of- Nothing ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"- Just ts ->- case srcInfoPoints l of- (a:b:c:d:rest) -> do- exactPC n- printStringAt (pos a) "::"- printStringAt (pos b) "{"- printInterleaved' (zip rest (repeat ",")) ts- printStringAt (pos c) "}"- printStringAt (pos d) "->"- exactPC t- _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"--instance ExactP BangType where- exactP bt = case bt of- BangedTy l ->- case srcInfoPoints l of- [a] -> printStringAt (pos a) "!"- _ -> errorEP "ExactP: BangType: BangedTy is given wrong number of srcInfoPoints"- UnpackedTy l ->- case srcInfoPoints l of- [a,b,c] -> do- printStringAt (pos a) "{-# UNPACK"- printStringAt (pos b) "#-}"- printStringAt (pos c) "!"- _ -> errorEP "ExactP: BangType: UnpackedTy is given wrong number of srcInfoPoints"--instance ExactP Splice where- exactP (IdSplice _ str) = printString $ '$':str- exactP (ParenSplice l e) =- case srcInfoPoints l of- [_,b] -> do- printString "$("- exactPC e- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"--instance ExactP Exp where- exactP exp = case exp of- Var _ qn -> exactP qn- IPVar _ ipn -> exactP ipn- Con _ qn -> exactP qn- Lit _ lit -> exactP lit- InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2- App _ e1 e2 -> exactP e1 >> exactPC e2- NegApp _ e -> printString "-" >> exactPC e- Lambda l ps e ->- case srcInfoPoints l of- [_,b] -> do- printString "\\"- mapM_ exactPC ps- printStringAt (pos b) "->"- exactPC e- _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"- Let l bs e ->- case srcInfoPoints l of- [_,b] -> do- printString "let"- exactPC bs- printStringAt (pos b) "in"- exactPC e- _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"- If l ec et ee -> -- traceShow (srcInfoPoints l) $ do- -- First we need to sort out if there are any optional- -- semicolons hiding among the srcInfoPoints.- case srcInfoPoints l of- (_:b:c:rest) -> do- let (mpSemi1,pThen,rest2) =- if snd (spanSize b) == 4 -- this is "then", not a semi- then (Nothing, b, c:rest)- else (Just b, c, rest)- case rest2 of- (c':rest3) -> do- let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi- then (Nothing, rest2)- else (Just c', rest3)- case rest4 of- [pElse] -> do- -- real work starts here:- printString "if"- exactPC ec- maybeEP printSemi mpSemi1- printStringAt (pos pThen) "then"- exactPC et- maybeEP printSemi mpSemi2- printStringAt (pos pElse) "else"- exactPC ee- [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"- _ -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"- _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"-- _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"- MultiIf l alts ->- case srcInfoPoints l of- _:pts -> do- printString "if"- layoutList pts (map GuardedAlt alts)- _ -> internalError "Exp -> MultiIf"- Case l e alts ->- case srcInfoPoints l of- _:b:pts -> do- printString "case"- exactPC e- printStringAt (pos b) "of"- layoutList pts alts- _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"- Do l stmts ->- case srcInfoPoints l of- _:pts -> do- printString "do"- layoutList pts stmts- _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"- MDo l stmts ->- case srcInfoPoints l of- _:pts -> do- printString "mdo"- layoutList pts stmts- _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"- Tuple l bx es ->- case bx of- Boxed -> parenList (srcInfoPoints l) es- Unboxed -> parenHashList (srcInfoPoints l) es- TupleSection l bx mexps -> do- let pts = srcInfoPoints l- (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")- printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])- (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)- List l es -> squareList (srcInfoPoints l) es- ParArray l es -> squareColonList (srcInfoPoints l) es- Paren l p -> parenList (srcInfoPoints l) [p]- LeftSection l e qop ->- case srcInfoPoints l of- [_,b] -> do- printString "("- exactPC e- exactPC qop- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"- RightSection l qop e ->- case srcInfoPoints l of- [_,b] -> do- printString "("- exactPC qop- exactPC e- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"- RecConstr l qn fups -> do- let pts = srcInfoPoints l- exactP qn- curlyList pts fups- RecUpdate l e fups -> do- let pts = srcInfoPoints l- exactP e- curlyList pts fups- EnumFrom l e ->- case srcInfoPoints l of- [_,b,c] -> do- printString "["- exactPC e- printStringAt (pos b) ".."- printStringAt (pos c) "]"- _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"- EnumFromTo l e1 e2 ->- case srcInfoPoints l of- [_,b,c] -> do- printString "["- exactPC e1- printStringAt (pos b) ".."- exactPC e2- printStringAt (pos c) "]"- _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"- EnumFromThen l e1 e2 ->- case srcInfoPoints l of- [_,b,c,d] -> do- printString "["- exactPC e1- printStringAt (pos b) ","- exactPC e2- printStringAt (pos c) ".."- printStringAt (pos d) "]"- _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"- EnumFromThenTo l e1 e2 e3 ->- case srcInfoPoints l of- [_,b,c,d] -> do- printString "["- exactPC e1- printStringAt (pos b) ","- exactPC e2- printStringAt (pos c) ".."- exactPC e3- printStringAt (pos d) "]"- _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"- ParArrayFromTo l e1 e2 ->- case srcInfoPoints l of- [_,b,c] -> do- printString "[:"- exactPC e1- printStringAt (pos b) ".."- exactPC e2- printStringAt (pos c) ":]"- _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"- ParArrayFromThenTo l e1 e2 e3 ->- case srcInfoPoints l of- [_,b,c,d] -> do- printString "[:"- exactPC e1- printStringAt (pos b) ","- exactPC e2- printStringAt (pos c) ".."- exactPC e3- printStringAt (pos d) ":]"- _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"- ListComp l e qss ->- case srcInfoPoints l of- _:pts -> do- printString "["- exactPC e- bracketList ("|",",","]") pts qss- _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"- ParComp l e qsss ->- case srcInfoPoints l of- _:pts -> do- let (strs, qss) = unzip $ pairUp qsss- printString "["- exactPC e- printInterleaved (zip pts (strs ++ ["]"])) qss- _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"- where pairUp [] = []- pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs- pairUp _ = internalError "Exp -> ParComp -> pairUp"- ParArrayComp l e qsss ->- case srcInfoPoints l of- _:pts -> do- let (strs, qss) = unzip $ pairUp qsss- printString "[:"- exactPC e- printInterleaved (zip pts (strs ++ [":]"])) qss- _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"- where pairUp [] = []- pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs- pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"-- ExpTypeSig l e t ->- case srcInfoPoints l of- [a] -> do- exactP e- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"- VarQuote _ qn -> do- printString "'"- exactPC qn- TypQuote _ qn -> do- printString "''"- exactPC qn- BracketExp _ br -> exactP br- SpliceExp _ sp -> exactP sp- QuasiQuote _ name qt -> do- let qtLines = lines qt- printString $ "[" ++ name ++ "|"- sequence_ (intersperse newLine $ map printString qtLines)- printString "|]"- XTag l xn attrs mat es ->- case srcInfoPoints l of- [_,b,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- -- TODO: Fugly hack/duplication, should be refactored- -- For the case when there's an optional semicolon- [_,b,semi,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC es- printSemi semi- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"- XETag l xn attrs mat ->- case srcInfoPoints l of- [_,b] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) "/>"- _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"- XPcdata _ str -> do- let strLines = lines str- sequence_ (intersperse newLine $ map printString strLines)- XExpTag l e ->- case srcInfoPoints l of- [_,b] -> do- printString "<%"- exactPC e- printStringAt (pos b) "%>"- _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"- XChildTag l es ->- case srcInfoPoints l of- [_,b,c] -> do- printString "<%>"- mapM_ exactPC es- printStringAt (pos b) "</"- printStringAt (pos c) "%>"- -- Ugly duplication for when there's an optional semi- [_,semi,b,c] -> do- printString "<%>"- mapM_ exactPC es- printSemi semi- printStringAt (pos b) "</"- printStringAt (pos c) "%>"- _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"- CorePragma l str e ->- case srcInfoPoints l of- [_,b] -> do- printString $ "{-# CORE " ++ show str- printStringAt (pos b) "#-}"- exactPC e- _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"- SCCPragma l str e ->- case srcInfoPoints l of- [_,b] -> do- printString $ "{-# SCC " ++ show str- printStringAt (pos b) "#-}"- exactPC e- _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"- GenPragma l str (i1,i2) (i3,i4) e -> do- printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]- exactPC e- Proc l p e ->- case srcInfoPoints l of- [_,b] -> do- printString "proc"- exactPC p- printStringAt (pos b) "->"- exactPC e- _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"- LeftArrApp l e1 e2 ->- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) "-<"- exactPC e2- _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"- RightArrApp l e1 e2 ->- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) ">-"- exactPC e2- _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"- LeftArrHighApp l e1 e2 ->- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) "-<<"- exactPC e2- _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"- RightArrHighApp l e1 e2 ->- case srcInfoPoints l of- [a] -> do- exactP e1- printStringAt (pos a) ">>-"- exactPC e2- _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"-- LCase l alts ->- case srcInfoPoints l of- _:b:pts -> do- printString "\\"- printStringAt (pos b) "case"- layoutList pts alts- _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"- ExprHole _ -> printString "_"--instance ExactP FieldUpdate where- exactP fup = case fup of- FieldUpdate l qn e ->- case srcInfoPoints l of- [a] -> do- exactP qn- printStringAt (pos a) "="- exactPC e- _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"- FieldPun _ n -> exactP n- FieldWildcard _ -> printString ".."--instance ExactP Stmt where- exactP stmt = case stmt of- Generator l p e ->- case srcInfoPoints l of- [a] -> do- exactP p- printStringAt (pos a) "<-"- exactPC e- _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"- Qualifier _ e -> exactP e- LetStmt _ bds -> do- printString "let"- exactPC bds- RecStmt l ss ->- case srcInfoPoints l of- _:pts -> do- printString "rec"- layoutList pts ss- _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"--instance ExactP QualStmt where- exactP qstmt = case qstmt of- QualStmt _ stmt -> exactP stmt- ThenTrans _ e -> printString "then" >> exactPC e- ThenBy l e1 e2 ->- case srcInfoPoints l of- [_,b] -> do- printString "then"- exactPC e1- printStringAt (pos b) "by"- exactPC e2- _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"- GroupBy l e -> do- printStrs $ zip (srcInfoPoints l) ["then","group","by"]- exactPC e- GroupUsing l e -> do- printStrs $ zip (srcInfoPoints l) ["then","group","using"]- exactPC e- GroupByUsing l e1 e2 -> do- let pts = srcInfoPoints l- printStrs $ zip (init pts) ["then","group","by"]- exactPC e1- printStringAt (pos (last pts)) "using"- exactPC e2--instance ExactP Bracket where- exactP br = case br of- ExpBracket l e ->- case srcInfoPoints l of- [_,b] -> do- printString "[|"- exactPC e- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: ExpBracket is given wrong number of srcInfoPoints"- PatBracket l p ->- case srcInfoPoints l of- [_,b] -> do- printString "[p|"- exactPC p- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: PatBracket is given wrong number of srcInfoPoints"- TypeBracket l t ->- case srcInfoPoints l of- [_,b] -> do- printString "[t|"- exactPC t- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: TypeBracket is given wrong number of srcInfoPoints"- DeclBracket l ds ->- case srcInfoPoints l of- pts@(_:_) -> do- printString "[d|"- layoutList (init pts) (sepFunBinds ds)- printStringAt (pos (last pts)) "|]"- _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"--instance ExactP XAttr where- exactP (XAttr l xn e) =- case srcInfoPoints l of- [a] -> do- exactP xn- printStringAt (pos a) "="- exactPC e- _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"--instance ExactP Alt where- exactP (Alt l p galts mbs) = do- exactP p- exactPC (GuardedAlts galts)- maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs--instance ExactP Match where- exactP (Match l n ps rhs mbinds) = do- let pts = srcInfoPoints l- len = length pts- pars = len `div` 2- (oPars,cParsWh) = splitAt pars pts- (cPars,_) = splitAt pars cParsWh -- _§ is either singleton or empty- printStrs (zip oPars (repeat "("))- exactPC n- printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)- exactPC rhs- maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds- exactP (InfixMatch l a n bs rhs mbinds) = do- let pts = srcInfoPoints l- len = length pts- pars = len `div` 2- (oPars,cParsWh) = splitAt pars pts- (cPars,whPt) = splitAt pars cParsWh -- whPt is either singleton or empty- printStrs (zip oPars (repeat "("))- exactPC a- epInfixName n- printInterleaved' (zip cPars (repeat ")")) bs- exactPC rhs- maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds--instance ExactP Rhs where- exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e- exactP (GuardedRhss _ grhss) = mapM_ exactPC grhss--instance ExactP GuardedRhs where- exactP (GuardedRhs l ss e) =- case srcInfoPoints l of- _:pts -> do- printString "|"- printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss- exactPC e- _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"--newtype GuardedAlts l = GuardedAlts (Rhs l)- deriving (Functor, Show)-instance Annotated GuardedAlts where- amap f (GuardedAlts v) = GuardedAlts (amap f v)- ann (GuardedAlts v) = ann v--newtype GuardedAlt l = GuardedAlt (GuardedRhs l)- deriving (Functor, Show)-instance Annotated GuardedAlt where- amap f (GuardedAlt v) = GuardedAlt (amap f v)- ann (GuardedAlt v) = ann v--instance ExactP GuardedAlts where- exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e- exactP (GuardedAlts (GuardedRhss _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss--instance ExactP GuardedAlt where- exactP (GuardedAlt (GuardedRhs l ss e)) =- case srcInfoPoints l of- _:pts -> do- printString "|"- printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss- exactPC e- _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"--instance ExactP Pat where- exactP pat = case pat of- PVar l n -> exactPC (fmap (const l) n)- PLit _ sg lit -> exactPC sg >> exactPC lit- PNPlusK l n k ->- case srcInfoPoints l of- [a,b] -> do- exactP n- printStringAt (pos a) "+"- printStringAt (pos b) (show k)- _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"- PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb- PApp _ qn ps -> exactP qn >> mapM_ exactPC ps- PTuple l bx ps ->- case bx of- Boxed -> parenList (srcInfoPoints l) ps- Unboxed -> parenHashList (srcInfoPoints l) ps- PList l ps -> squareList (srcInfoPoints l) ps- PParen l p -> parenList (srcInfoPoints l) [p]- PRec l qn pfs -> exactP qn >> curlyList (srcInfoPoints l) pfs- PAsPat l n p ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "@"- exactPC p- _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"- PWildCard _ -> printString "_"- PIrrPat _ p -> printString "~" >> exactPC p- PatTypeSig l p t ->- case srcInfoPoints l of- [a] -> do- exactP p- printStringAt (pos a) "::"- exactPC t- _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"- PViewPat l e p ->- case srcInfoPoints l of- [a] -> do- exactP e- printStringAt (pos a) "->"- exactPC p- _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"- PRPat l rps -> squareList (srcInfoPoints l) rps- PXTag l xn attrs mat ps ->- case srcInfoPoints l of- [_,b,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC ps- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- -- Optional semi- [_,b,semi,c,d,e] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) ">"- mapM_ exactPC ps- printSemi semi- printStringAt (pos c) "</"- printWhitespace (pos d)- exactP xn- printStringAt (pos e) ">"- _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"- PXETag l xn attrs mat ->- case srcInfoPoints l of- [_,b] -> do- printString "<"- exactPC xn- mapM_ exactPC attrs- maybeEP exactPC mat- printStringAt (pos b) "/>"- _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"- PXPcdata _ str -> printString str- PXPatTag l p ->- case srcInfoPoints l of- [_,_] -> do- printString "<%"- exactPC p- printString "%>"- _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"- PXRPats l rps -> bracketList ("<[",",","]>") (srcInfoPoints l) rps- PQuasiQuote _ name qt -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"- PBangPat _ p -> printString "!" >> exactPC p--instance ExactP PatField where- exactP pf = case pf of- PFieldPat l qn p ->- case srcInfoPoints l of- [a] -> do- exactP qn- printStringAt (pos a) "="- exactPC p- _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"- PFieldPun _ n -> exactP n- PFieldWildcard _ -> printString ".."--instance ExactP RPat where- exactP rpat = case rpat of- RPOp _ rp op -> exactP rp >> exactPC op- RPEither l r1 r2 ->- case srcInfoPoints l of- [a] -> do- exactP r1- printStringAt (pos a) "|"- exactPC r2- _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"- RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps- RPGuard l p stmts ->- case srcInfoPoints l of- _:pts -> do- printString "(|"- exactPC p- bracketList ("|",",","|)") pts stmts- _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"- RPCAs l n rp ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "@:"- exactPC rp- _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"- RPAs l n rp ->- case srcInfoPoints l of- [a] -> do- exactP n- printStringAt (pos a) "@"- exactPC rp- _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"- RPParen l rp -> parenList (srcInfoPoints l) [rp]- RPPat _ p -> exactP p--instance ExactP RPatOp where- exactP rop = printString $ case rop of- RPStar _ -> "*"- RPStarG _ -> "*!"- RPPlus _ -> "+"- RPPlusG _ -> "+!"- RPOpt _ -> "?"- RPOptG _ -> "?!"--instance ExactP PXAttr where- exactP (PXAttr l xn p) =- case srcInfoPoints l of- [a] -> do- exactP xn- printStringAt (pos a) "="- exactPC p- _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"--instance ExactP XName where- exactP xn = case xn of- XName _ name -> printString name- XDomName l dom name ->- case srcInfoPoints l of- [_,b,c] -> do- printString dom- printStringAt (pos b) ":"- printStringAt (pos c) name- _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"--instance ExactP Binds where- exactP (BDecls l ds) = layoutList (srcInfoPoints l) (sepFunBinds ds)- exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips--instance ExactP CallConv where- exactP (StdCall _) = printString "stdcall"- exactP (CCall _) = printString "ccall"- exactP (CPlusPlus _) = printString "cplusplus"- exactP (DotNet _) = printString "dotnet"- exactP (Jvm _) = printString "jvm"- exactP (Js _) = printString "js"- exactP (JavaScript _) = printString "javascript"- exactP (CApi _) = printString "capi"--instance ExactP Safety where- exactP (PlayRisky _) = printString "unsafe"- exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"- exactP (PlayInterruptible _) = printString "interruptible"--instance ExactP Rule where- exactP (Rule l str mact mrvs e1 e2) =- case srcInfoPoints l of- _:pts -> do- printString (show str)- maybeEP exactP mact- pts1 <- case mrvs of- Nothing -> return pts- Just rvs ->- case pts of- a':b:pts' -> do- printStringAt (pos a') "forall"- mapM_ exactPC rvs- printStringAt (pos b) "."- return pts'- _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"- case pts1 of- [x] -> do- exactPC e1- printStringAt (pos x) "="- exactPC e2- _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"- _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"--instance ExactP RuleVar where- exactP (TypedRuleVar l n t) =- case srcInfoPoints l of- [_,b,c] -> do- printString "("- exactPC n- printStringAt (pos b) "::"- exactPC t- printStringAt (pos c) ")"- _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"- exactP (RuleVar _ n) = exactP n--instance ExactP Overlap where- exactP (NoOverlap _) =- printString "{-# NO_OVERLAP #-}"- exactP (Overlap _) =- printString "{-# OVERLAP #-}"- exactP (Incoherent _) =- printString "{-# INCOHERENT #-}"--instance ExactP Activation where- exactP (ActiveFrom l i) =- printPoints l ["[", show i, "]"]- exactP (ActiveUntil l i) =- printPoints l ["[", "~", show i, "]"]--instance ExactP FieldDecl where- exactP (FieldDecl l ns bt) = do- let pts = srcInfoPoints l- printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns- exactPC bt--instance ExactP IPBind where- exactP (IPBind l ipn e) =- case srcInfoPoints l of- [a] -> do- exactP ipn- printStringAt (pos a) "="- exactPC e- _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"---- Hopefully, this will never fire.--- If it does, hopefully by that time https://github.com/sol/rewrite-with-location--- will be implemented.--- If not, then removing all calls to internalError should give a better--- idea where the error comes from.--- So far, it's necessary to eliminate non-exhaustive patterns warnings.--- We don't want to turn them off, as we want unhandled AST nodes to be--- reported.-internalError :: String -> a-internalError loc' = error $ unlines- [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"- , "Location: " ++ loc'- , "This is either caused by supplying incorrect location information or by"- , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"- , "by the haskell-src-exts Parser it is a bug, please it report it at"- , "https://github.com/haskell-suite/haskell-src-exts"]
− src/Language/Haskell/Exts/Annotated/Fixity.hs
@@ -1,353 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Fixity--- Copyright : (c) Niklas Broberg 2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Fixity information to give the parser so that infix operators can--- be parsed properly.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Fixity- (- -- * Fixity representation- Fixity(..)- -- | The following three functions all create lists of- -- fixities from textual representations of operators.- -- The intended usage is e.g.- --- -- > fixs = infixr_ 0 ["$","$!","`seq`"]- --- -- Note that the operators are expected as you would- -- write them infix, i.e. with ` characters surrounding- -- /varid/ operators, and /varsym/ operators written as is.- , infix_, infixl_, infixr_- -- ** Collections of fixities- , preludeFixities, baseFixities-- -- * Applying fixities to an AST- , AppFixity(..)- ) where--import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.SrcLoc--import Language.Haskell.Exts.Fixity ( Fixity(..), infix_, infixl_, infixr_, preludeFixities, baseFixities, prefixMinusFixity )-import qualified Language.Haskell.Exts.Syntax as S ( Assoc(..), QOp(..), QName(..), Name(..), SpecialCon(..), ModuleName )-import Language.Haskell.Exts.Annotated.Simplify ( sQOp, sAssoc, sQName, sModuleHead, sName )--import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)-import Data.Traversable (mapM)-import Data.Maybe (fromMaybe)-import Prelude hiding (mapM)---- | All AST elements that may include expressions which in turn may--- need fixity tweaking will be instances of this class.-class AppFixity ast where- -- | Tweak any expressions in the element to account for the- -- fixities given. Assumes that all operator expressions are- -- fully left associative chains to begin with.- applyFixities :: Monad m => [Fixity] -- ^ The fixities to account for.- -> ast SrcSpanInfo -- ^ The element to tweak.- -> m (ast SrcSpanInfo) -- ^ The same element, but with operator expressions updated, or a failure.---instance AppFixity Exp where- applyFixities fixs' = infFix fixs' <=< leafFix fixs'- where -- This is the real meat case. We can assume a left-associative list to begin with.- infFix fixs (InfixApp l2 a op2 z) = do- e <- infFix fixs a- let fixup (a1,p1) (a2,p2) y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone)) -- Ambiguous infix expression!- $ fail "Ambiguous infix expression"- if p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone) -- Already right order- then return $ InfixApp l2 e op2 z- else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)- case e of- InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)- NegApp _ y -> fixup prefixMinusFixity (askFixity fixs op2) y (NegApp l2)- _ -> return $ InfixApp l2 e op2 z-- infFix _ e = return e----ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"--instance AppFixity Pat where- applyFixities fixs' = infFix fixs' <=< leafFixP fixs'- where -- This is the real meat case. We can assume a left-associative list to begin with.- infFix fixs (PInfixApp l2 a op2 z) = do- p <- infFix fixs a- let fixup (a1,p1) (a2,p2) y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone )) -- Ambiguous infix expression!- $ fail "Ambiguous infix expression"- if p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone) -- Already right order- then return $ PInfixApp l2 p op2 z- else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z)- case p of- PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)- _ -> return $ PInfixApp l2 p op2 z-- infFix _ p = return p---- Internal: lookup associativity and precedence of an operator-askFixity :: [Fixity] -> QOp l -> (S.Assoc, Int)-askFixity xs k = askFix xs (f $ sQOp k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp- where- f (S.QVarOp x) = g x- f (S.QConOp x) = g x-- g (S.Special S.Cons) = S.UnQual (S.Symbol ":")- g x = x---- Same using patterns-askFixityP :: [Fixity] -> QName l -> (S.Assoc, Int)-askFixityP xs qn = askFix xs (g $ sQName qn)- where- g (S.Special S.Cons) = S.UnQual (S.Symbol ":")- g x = x--askFix :: [Fixity] -> S.QName -> (S.Assoc, Int)-askFix xs = \k -> lookupWithDefault (S.AssocLeft, 9) k mp- where- lookupWithDefault def k mp' = fromMaybe def $ lookup k mp'-- mp = [(x,(a,p)) | Fixity a p x <- xs]------------------------------------------------------------------------- Boilerplate - yuck!! Everything below here is internal stuff--instance AppFixity Module where- applyFixities fixs (Module l mmh prs imp decls) =- liftM (Module l mmh prs imp) $ appFixDecls (Just mn) fixs decls- where (mn, _, _) = sModuleHead mmh- applyFixities fixs (XmlPage l mn os xn xas mexp cs) =- liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)- where fix xs = mapM (applyFixities fixs) xs- applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =- liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls (Just mn) fixs decls)- (fixe xas) (fixe mexp) (fixe cs)- where fixe xs = let extraFixs = getFixities (Just mn) decls- in mapM (applyFixities (fixs++extraFixs)) xs- (mn, _, _) = sModuleHead mmh--instance AppFixity Decl where- applyFixities fixs decl = case decl of- ClassDecl l ctxt dh deps cdecls -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls- InstDecl l olp ih idecls -> liftM (InstDecl l olp ih) $ mapM (mapM fix) idecls- SpliceDecl l spl -> liftM (SpliceDecl l) $ fix spl- FunBind l matches -> liftM (FunBind l) $ mapM fix matches- PatBind l p rhs bs ->- let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x- in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)- AnnPragma l ann' -> liftM (AnnPragma l) $ fix ann'- _ -> return decl- where fix x = applyFixities fixs x--appFixDecls :: Monad m => Maybe S.ModuleName -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]-appFixDecls mmdl fixs decls =- let extraFixs = getFixities mmdl decls- in mapM (applyFixities (fixs++extraFixs)) decls--getFixities :: Maybe S.ModuleName -> [Decl l] -> [Fixity]-getFixities mmdl = concatMap (getFixity mmdl)--getFixity :: Maybe S.ModuleName -> Decl l -> [Fixity]-getFixity mmdl d =- case d of- InfixDecl _ a mp ops -> let p = fromMaybe 9 mp- in map (Fixity (sAssoc a) p) (concatMap g ops)- ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds- _ -> []- where g (VarOp _ x) = f $ sName x- g (ConOp _ x) = f $ sName x- f x = case mmdl of- Nothing -> [ S.UnQual x]- Just m -> [S.Qual m x, S.UnQual x]- getClassFixity (ClsDecl _ cd) = getFixity mmdl cd- getClassFixity _ = []--getBindFixities :: Binds l -> [Fixity]-getBindFixities bs = case bs of- BDecls _ ds -> getFixities Nothing ds- _ -> []--instance AppFixity Annotation where- applyFixities fixs ann' = case ann' of- Ann l n e -> liftM (Ann l n) $ fix e- TypeAnn l n e -> liftM (TypeAnn l n) $ fix e- ModuleAnn l e -> liftM (ModuleAnn l) $ fix e- where fix x = applyFixities fixs x--instance AppFixity ClassDecl where- applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl- applyFixities _ cdecl = return cdecl--instance AppFixity InstDecl where- applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl- applyFixities _ idecl = return idecl--instance AppFixity Match where- applyFixities fixs match = case match of- Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)- InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)- where fix bs x = applyFixities fixs' x- where fixs' = fixs ++ maybe [] getBindFixities bs--instance AppFixity Rhs where- applyFixities fixs rhs = case rhs of- UnGuardedRhs l e -> liftM (UnGuardedRhs l) $ fix e- GuardedRhss l grhss -> liftM (GuardedRhss l) $ mapM fix grhss- where fix x = applyFixities fixs x--instance AppFixity GuardedRhs where- applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e- where fix x = applyFixities fixs x--instance AppFixity PatField where- applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p- applyFixities _ pf = return pf--instance AppFixity RPat where- applyFixities fixs rp' = case rp' of- RPOp l rp op -> liftM (flip (RPOp l) op) $ fix rp- RPEither l a b -> liftM2 (RPEither l) (fix a) (fix b)- RPSeq l rps -> liftM (RPSeq l) $ mapM fix rps- RPGuard l p stmts -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts- RPCAs l n rp -> liftM (RPCAs l n) $ fix rp- RPAs l n rp -> liftM (RPAs l n) $ fix rp- RPParen l rp -> liftM (RPParen l) $ fix rp- RPPat l p -> liftM (RPPat l) $ fix p- where fix x = applyFixities fixs x--instance AppFixity PXAttr where- applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p--instance AppFixity Stmt where- applyFixities fixs stmt = case stmt of- Generator l p e -> liftM2 (Generator l) (fix p) (fix e)- Qualifier l e -> liftM (Qualifier l) $ fix e- LetStmt l bs -> liftM (LetStmt l) $ fix bs -- special behavior- RecStmt l stmts -> liftM (RecStmt l) $ mapM fix stmts- where fix x = applyFixities fixs x--instance AppFixity Binds where- applyFixities fixs bs = case bs of- BDecls l decls -> liftM (BDecls l) $ appFixDecls Nothing fixs decls -- special behavior- IPBinds l ips -> liftM (IPBinds l) $ mapM fix ips- where fix x = applyFixities fixs x---instance AppFixity IPBind where- applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e--instance AppFixity FieldUpdate where- applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e- applyFixities _ fup = return fup--instance AppFixity Alt where- applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs)- where fix x = applyFixities fixs x--instance AppFixity QualStmt where- applyFixities fixs qstmt = case qstmt of- QualStmt l s -> liftM (QualStmt l) $ fix s- ThenTrans l e -> liftM (ThenTrans l) $ fix e- ThenBy l e1 e2 -> liftM2 (ThenBy l) (fix e1) (fix e2)- GroupBy l e -> liftM (GroupBy l) (fix e)- GroupUsing l e -> liftM (GroupUsing l) (fix e)- GroupByUsing l e1 e2 -> liftM2 (GroupByUsing l) (fix e1) (fix e2)- where fix x = applyFixities fixs x--instance AppFixity Bracket where- applyFixities fixs br = case br of- ExpBracket l e -> liftM (ExpBracket l) $ fix e- PatBracket l p -> liftM (PatBracket l) $ fix p- DeclBracket l ds -> liftM (DeclBracket l) $ mapM fix ds- _ -> return br- where fix x = applyFixities fixs x--instance AppFixity Splice where- applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e- applyFixities _ s = return s--instance AppFixity XAttr where- applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e----- the boring boilerplate stuff for expressions too--- Recursively fixes the "leaves" of the infix chains,--- without yet touching the chain itself. We assume all chains are--- left-associate to begin with.-leafFix :: Monad m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo)-leafFix fixs e' = case e' of- InfixApp l e1 op e2 -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2)- App l e1 e2 -> liftM2 (App l) (fix e1) (fix e2)- NegApp l e -> liftM (NegApp l) $ fix e- Lambda l pats e -> liftM2 (Lambda l) (mapM fix pats) $ fix e- Let l bs e ->- let extraFix x = applyFixities (fixs ++ getBindFixities bs) x- in liftM2 (Let l) (extraFix bs) $ extraFix e- If l e a b -> liftM3 (If l) (fix e) (fix a) (fix b)- MultiIf l alts -> liftM (MultiIf l) (mapM fix alts)- Case l e alts -> liftM2 (Case l) (fix e) $ mapM fix alts- Do l stmts -> liftM (Do l) $ mapM fix stmts- MDo l stmts -> liftM (MDo l) $ mapM fix stmts- Tuple l bx exps -> liftM (Tuple l bx) $ mapM fix exps- List l exps -> liftM (List l) $ mapM fix exps- Paren l e -> liftM (Paren l) $ fix e- LeftSection l e op -> liftM (flip (LeftSection l) op) (fix e)- RightSection l op e -> liftM (RightSection l op) $ fix e- RecConstr l n fups -> liftM (RecConstr l n) $ mapM fix fups- RecUpdate l e fups -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups- EnumFrom l e -> liftM (EnumFrom l) $ fix e- EnumFromTo l e1 e2 -> liftM2 (EnumFromTo l) (fix e1) (fix e2)- EnumFromThen l e1 e2 -> liftM2 (EnumFromThen l) (fix e1) (fix e2)- EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)- ListComp l e quals -> liftM2 (ListComp l) (fix e) $ mapM fix quals- ParComp l e qualss -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss- ExpTypeSig l e t -> liftM (flip (ExpTypeSig l) t) (fix e)- BracketExp l b -> liftM (BracketExp l) $ fix b- SpliceExp l s -> liftM (SpliceExp l) $ fix s- XTag l n ats mexp cs -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)- XETag l n ats mexp -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)- XExpTag l e -> liftM (XExpTag l) $ fix e- XChildTag l cs -> liftM (XChildTag l) $ mapM fix cs- Proc l p e -> liftM2 (Proc l) (fix p) (fix e)- LeftArrApp l e1 e2 -> liftM2 (LeftArrApp l) (fix e1) (fix e2)- RightArrApp l e1 e2 -> liftM2 (RightArrApp l) (fix e1) (fix e2)- LeftArrHighApp l e1 e2 -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)- RightArrHighApp l e1 e2 -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)- CorePragma l s e -> liftM (CorePragma l s) (fix e)- SCCPragma l s e -> liftM (SCCPragma l s) (fix e)- GenPragma l s ab cd e -> liftM (GenPragma l s ab cd) (fix e)- LCase l alts -> liftM (LCase l) $ mapM fix alts-- _ -> return e'- where- fix x = applyFixities fixs x--leafFixP :: Monad m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo)-leafFixP fixs p' = case p' of- PInfixApp l p1 op p2 -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2)- PApp l n ps -> liftM (PApp l n) $ mapM fix ps- PTuple l bx ps -> liftM (PTuple l bx) $ mapM fix ps- PList l ps -> liftM (PList l) $ mapM fix ps- PParen l p -> liftM (PParen l) $ fix p- PRec l n pfs -> liftM (PRec l n) $ mapM fix pfs- PAsPat l n p -> liftM (PAsPat l n) $ fix p- PIrrPat l p -> liftM (PIrrPat l) $ fix p- PatTypeSig l p t -> liftM (flip (PatTypeSig l) t) (fix p)- PViewPat l e p -> liftM2 (PViewPat l) (fix e) (fix p)- PRPat l rps -> liftM (PRPat l) $ mapM fix rps- PXTag l n ats mp ps -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)- PXETag l n ats mp -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)- PXPatTag l p -> liftM (PXPatTag l) $ fix p- PXRPats l rps -> liftM (PXRPats l) $ mapM fix rps- PBangPat l p -> liftM (PBangPat l) $ fix p- _ -> return p'- where fix x = applyFixities fixs x
− src/Language/Haskell/Exts/Annotated/Parser.hs
@@ -1,257 +0,0 @@-{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Parser--- Copyright : (c) Niklas Broberg 2004-2009--- (c) Michael Sloan 2013--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Annotated parser for Haskell with extensions.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Parser- (- -- * General parsing- Parseable(parse, parseWithMode, parseWithComments)- -- * Parsing of specific AST elements- -- ** Modules- , parseModule, parseModuleWithMode, parseModuleWithComments- -- ** Expressions- , parseExp, parseExpWithMode, parseExpWithComments- -- ** Statements- , parseStmt, parseStmtWithMode, parseStmtWithComments- -- ** Patterns- , parsePat, parsePatWithMode, parsePatWithComments- -- ** Declarations- , parseDecl, parseDeclWithMode, parseDeclWithComments- -- ** Types- , parseType, parseTypeWithMode, parseTypeWithComments- -- ** Imports- , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments- -- * Non-greedy parsers- , NonGreedy(..)- , ListOf(..), unListOf- -- ** Module head parsers- , getTopPragmas- , PragmasAndModuleName(..)- , PragmasAndModuleHead(..)- , ModuleHeadAndImports(..)- ) where--import Data.Data hiding (Fixity)-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Comments-import Language.Haskell.Exts.InternalParser-import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.SrcLoc--instance Parseable (Decl SrcSpanInfo) where parser = normalParser mparseDecl-instance Parseable (Exp SrcSpanInfo) where parser = normalParser mparseExp-instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule-instance Parseable (Pat SrcSpanInfo) where parser = normalParser mparsePat-instance Parseable (Stmt SrcSpanInfo) where parser = normalParser mparseStmt-instance Parseable (Type SrcSpanInfo) where parser = normalParserNoFixity mparseType-instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl--normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)-normalParser p Nothing = p-normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc--normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)-normalParserNoFixity p _ = p---- Type-specific functions---- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.-parseModule :: String -> ParseResult (Module SrcSpanInfo)-parseModule = parse---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.-parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)-parseModuleWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])-parseModuleWithComments = parseWithComments---- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.-parseExp :: String -> ParseResult (Exp SrcSpanInfo)-parseExp = parse---- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.-parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)-parseExpWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])-parseExpWithComments = parseWithComments---- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.-parsePat :: String -> ParseResult (Pat SrcSpanInfo)-parsePat = parse---- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.-parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)-parsePatWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])-parsePatWithComments = parseWithComments---- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.-parseDecl :: String -> ParseResult (Decl SrcSpanInfo)-parseDecl = parse---- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.-parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)-parseDeclWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])-parseDeclWithComments = parseWithComments---- | Parse of a string containing a Haskell type, using 'defaultParseMode'.-parseType :: String -> ParseResult (Type SrcSpanInfo)-parseType = parse---- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)-parseTypeWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])-parseTypeWithComments = parseWithComments---- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.-parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)-parseStmt = parse---- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)-parseStmtWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])-parseStmtWithComments = parseWithComments---- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.-parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo)-parseImportDecl = parse---- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo)-parseImportDeclWithMode = parseWithMode---- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment])-parseImportDeclWithComments = parseWithComments---- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser)---- | Non-greedy parse of a string starting with a series of top-level option pragmas.-getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]-getTopPragmas = fmap (unListOf . unNonGreedy) . parse--instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where- parser = nglistParserNoFixity ngparseModulePragmas--nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))-nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f---- | Type intended to be used with 'Parseable', with instances that implement a--- non-greedy parse of the module name, including top-level pragmas. This--- means that a parse error that comes after the module header won't be--- returned. If the 'Maybe' value is 'Nothing', then this means that there was--- no module header.-data PragmasAndModuleName l = PragmasAndModuleName l- [ModulePragma l]- (Maybe (ModuleName l))- deriving (Eq,Ord,Show,Typeable,Data)--instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where- parser _ = do- ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName- let l = combSpanMaybe (pl <** pss) (fmap ann mn)- return $ NonGreedy $ PragmasAndModuleName l pragmas mn---- Type intended to be used with 'Parseable', with instances that--- implement a non-greedy parse of the module name, including--- top-level pragmas. This means that a parse error that comes--- after the module header won't be returned. If the 'Maybe' value--- is 'Nothing', this means that there was no module head.------ Note that the 'ParseMode' matters for this due to the 'MagicHash'--- changing the lexing of identifiers to include \"#\".-data PragmasAndModuleHead l = PragmasAndModuleHead l- [ModulePragma l]- (Maybe (ModuleHead l))- deriving (Eq,Ord,Show,Typeable,Data)--instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where- parser _ = do- ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead- let l = combSpanMaybe (pl <** pss) (fmap ann mh)- return $ NonGreedy $ PragmasAndModuleHead l pragmas mh---- Type intended to be used with 'Parseable', with instances that--- implement a non-greedy parse of the module head, including--- top-level pragmas, module name, export list, and import--- list. This means that if a parse error that comes after the--- imports won't be returned. If the 'Maybe' value is 'Nothing',--- this means that there was no module head.------ Note that the 'ParseMode' matters for this due to the 'MagicHash'--- changing the lexing of identifiers to include \"#\".-data ModuleHeadAndImports l = ModuleHeadAndImports l- [ModulePragma l]- (Maybe (ModuleHead l))- [ImportDecl l]- deriving (Eq,Ord,Show,Typeable,Data)--instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where- parser _ = do- ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports- let l = (pl <** pss) `combSpanMaybe`- (fmap ann mh) `combSpanMaybe`- (fmap (\(_, iss, il) -> il <** iss) mimps)- imps = maybe [] (\(x, _, _) -> x) mimps- return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps---- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input--- until @a@ is fully parsed. This means that parse errors that come later--- in the input will be ignored. It's also more efficient, as it's fully lazy--- in the remainder of the input:------ >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead--- ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})------ (this example uses the simplified AST)-newtype NonGreedy a = NonGreedy { unNonGreedy :: a }- deriving (Eq,Ord,Show,Typeable,Data)--instance Functor NonGreedy where- fmap f (NonGreedy x) = NonGreedy (f x)---- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',--- in order to provide 'Parseable' instances for lists. These instances are--- provided when the type is used as a list in the syntax, and the same--- delimiters are used in all of its usages. Some exceptions are made:-data ListOf a = ListOf SrcSpanInfo [a]- deriving (Eq,Ord,Show,Typeable,Data,Functor)--unListOf :: ListOf a -> [a]-unListOf (ListOf _ xs) = xs---- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',--- as long as they are created with (presently) are all created with--- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have--- empty 'srcInfoPoints'. Ideally, the parsers would return better--- types, but this works.-toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a-toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
− src/Language/Haskell/Exts/Annotated/Simplify.hs
@@ -1,614 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Simplify--- Copyright : (c) Niklas Broberg 2009--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : experimental--- Portability : portable------ This module contains code for translating from the annotated--- complex AST in Language.Haskell.Exts.Annotated.Syntax--- to the simpler, sparsely annotated AST in Language.Haskell.Exts.Syntax.------ A function @sXYZ@ translates an annotated AST node of type @XYZ l@ into--- a simple AST node of type @XYZ@. I would have prefered to use a MPTC--- with an fd/type family to get a single exported function name, but--- I wish to stay Haskell 2010 compliant. Let's hope for Haskell 2011.----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Simplify where--import Language.Haskell.Exts.Annotated.Syntax-import qualified Language.Haskell.Exts.Syntax as S--import Language.Haskell.Exts.SrcLoc hiding (loc)--import Data.Maybe (fromMaybe)---- | Translate an annotated AST node representing a Haskell module, into--- a simpler version that retains (almost) only abstract information.--- In particular, XML and hybrid XML pages enabled by the XmlSyntax extension--- are translated into standard Haskell modules with a @page@ function.-sModule :: SrcInfo loc => Module loc -> S.Module-sModule md = case md of- Module l mmh oss ids ds ->- let (mn, mwt, mes) = sModuleHead mmh- in S.Module (getPointLoc l) mn (map sModulePragma oss) mwt mes (map sImportDecl ids) (map sDecl ds)- XmlPage l mn oss xn attrs mat es ->- let loc = getPointLoc l- in S.Module loc (sModuleName mn) (map sModulePragma oss)- Nothing- (Just [S.EVar $ S.UnQual $ S.Ident "page"])- []- [pageFun loc $ S.XTag loc (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)]- XmlHybrid l mmh oss ids ds xn attrs mat es ->- let loc1 = getPointLoc l- loc2 = getPointLoc (ann xn)- (mn, mwt, mes) = sModuleHead mmh- in S.Module loc1 mn (map sModulePragma oss) mwt mes (map sImportDecl ids)- (map sDecl ds ++ [pageFun loc2 $ S.XTag loc2 (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)])- where pageFun :: SrcLoc -> S.Exp -> S.Decl- pageFun loc e = S.PatBind loc namePat rhs Nothing- where namePat = S.PVar $ S.Ident "page"- rhs = S.UnGuardedRhs e----- | Translate an annotated AST node representing a Haskell declaration--- into a simpler version. Note that in the simpler version, all declaration--- nodes are still annotated by 'SrcLoc's.-sDecl :: SrcInfo loc => Decl loc -> S.Decl-sDecl decl = case decl of- TypeDecl l dh t ->- let (n, tvs) = sDeclHead dh- in S.TypeDecl (getPointLoc l) n tvs (sType t)- TypeFamDecl l dh mk ->- let (n, tvs) = sDeclHead dh- in S.TypeFamDecl (getPointLoc l) n tvs (fmap sKind mk)- ClosedTypeFamDecl l dh mk eqs ->- let (n, tvs) = sDeclHead dh- in S.ClosedTypeFamDecl (getPointLoc l) n tvs (fmap sKind mk) (map sTypeEqn eqs)- DataDecl l dn mctxt dh constrs mder ->- let (n, tvs) = sDeclHead dh- in S.DataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (map sQualConDecl constrs) (maybe [] sDeriving mder)- GDataDecl l dn mctxt dh mk gds mder ->- let (n, tvs) = sDeclHead dh- in S.GDataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)- DataFamDecl l mctxt dh mk ->- let (n, tvs) = sDeclHead dh- in S.DataFamDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)- TypeInsDecl l t1 t2 -> S.TypeInsDecl (getPointLoc l) (sType t1) (sType t2)- DataInsDecl l dn t constrs mder ->- S.DataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)- GDataInsDecl l dn t mk gds mder ->- S.GDataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)- ClassDecl l mctxt dh fds mcds ->- let (n, tvs) = sDeclHead dh- in S.ClassDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (map sFunDep fds) (maybe [] (map sClassDecl) mcds)- InstDecl l olp ih mids ->- let (tvs, cxt, (qn, ts)) = sInstRule ih- in S.InstDecl (getPointLoc l) (fmap sOverlap olp) tvs cxt qn ts (maybe [] (map sInstDecl) mids)- DerivDecl l olp ih ->- let (tvs, cxt, (qn, ts)) = sInstRule ih- in S.DerivDecl (getPointLoc l) (fmap sOverlap olp) tvs cxt qn ts- InfixDecl l ass prec ops -> S.InfixDecl (getPointLoc l) (sAssoc ass) (fromMaybe 9 prec) (map sOp ops)- DefaultDecl l ts -> S.DefaultDecl (getPointLoc l) (map sType ts)- SpliceDecl l sp -> S.SpliceDecl (getPointLoc l) (sExp sp)- TypeSig l ns t -> S.TypeSig (getPointLoc l) (map sName ns) (sType t)- PatSynSig l n mtvs c1 c2 t ->- S.PatSynSig (getPointLoc l) (sName n) (fmap (map sTyVarBind) mtvs) (maybe [] sContext c1) (maybe [] sContext c2) (sType t)- FunBind _ ms -> S.FunBind (map sMatch ms)- PatBind l p rhs mbs ->- S.PatBind (getPointLoc l) (sPat p) (sRhs rhs) (sBinds `fmap` mbs)- ForImp l cc msaf mstr n t ->- S.ForImp (getPointLoc l) (sCallConv cc) (maybe (S.PlaySafe False) sSafety msaf) (fromMaybe "" mstr) (sName n) (sType t)- ForExp l cc mstr n t ->- S.ForExp (getPointLoc l) (sCallConv cc) (fromMaybe "" mstr) (sName n) (sType t)- RulePragmaDecl l rs -> S.RulePragmaDecl (getPointLoc l) (map sRule rs)- DeprPragmaDecl l nsstrs -> S.DeprPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)- WarnPragmaDecl l nsstrs -> S.WarnPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)- InlineSig l b mact qn -> S.InlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)- InlineConlikeSig l mact qn -> S.InlineConlikeSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn)- SpecSig l mact qn ts -> S.SpecSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)- SpecInlineSig l b mact qn ts ->- S.SpecInlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)- InstSig l ih ->- let (tvs, cxt, (qn, ts)) = sInstRule ih- in S.InstSig (getPointLoc l) tvs cxt qn ts- AnnPragma l ann' ->- S.AnnPragma (getPointLoc l) (sAnnotation ann')- MinimalPragma l b ->- S.MinimalPragma (getPointLoc l) (fmap sBooleanFormula b)- RoleAnnotDecl l qn rs ->- S.RoleAnnotDecl (getPointLoc l) (sQName qn) (map sRole rs)- PatSyn l p r t -> S.PatSyn (getPointLoc l) (sPat p) (sPat r) (sPatSyn t)--sPatSyn :: SrcInfo l => PatternSynDirection l -> S.PatternSynDirection-sPatSyn p = case p of- Unidirectional -> S.Unidirectional- ImplicitBidirectional -> S.ImplicitBidirectional- ExplicitBidirectional _ ms -> S.ExplicitBidirectional (map sDecl ms)--sTypeEqn :: SrcInfo l => TypeEqn l -> S.TypeEqn-sTypeEqn (TypeEqn _ a b) = S.TypeEqn (sType a) (sType b)--sAnnotation :: SrcInfo loc => Annotation loc -> S.Annotation-sAnnotation ann' = case ann' of- Ann _ n e -> S.Ann (sName n) (sExp e)- TypeAnn _ n e -> S.TypeAnn (sName n) (sExp e)- ModuleAnn _ e -> S.ModuleAnn (sExp e)--sBooleanFormula :: SrcInfo loc => BooleanFormula loc -> S.BooleanFormula-sBooleanFormula b' = case b' of- VarFormula _ n -> S.VarFormula (sName n)- AndFormula _ ns -> S.AndFormula $ map sBooleanFormula ns- OrFormula _ ns -> S.OrFormula $ map sBooleanFormula ns- ParenFormula _ b -> S.ParenFormula (sBooleanFormula b)--sRole :: Role l -> S.Role-sRole r =- case r of- Nominal _ -> S.Nominal- Representational _ -> S.Representational- Phantom _ -> S.Phantom- RoleWildcard _ -> S.RoleWildcard--sModuleName :: ModuleName l -> S.ModuleName-sModuleName (ModuleName _ str) = S.ModuleName str--sSpecialCon :: SpecialCon l -> S.SpecialCon-sSpecialCon sc = case sc of- UnitCon _ -> S.UnitCon- ListCon _ -> S.ListCon- FunCon _ -> S.FunCon- TupleCon _ b k -> S.TupleCon b k- Cons _ -> S.Cons- UnboxedSingleCon _ -> S.UnboxedSingleCon--sQName :: QName l -> S.QName-sQName qn = case qn of- Qual _ mn n -> S.Qual (sModuleName mn) (sName n)- UnQual _ n -> S.UnQual (sName n)- Special _ sc -> S.Special (sSpecialCon sc)--sName :: Name l -> S.Name-sName (Ident _ str) = S.Ident str-sName (Symbol _ str) = S.Symbol str--sIPName :: IPName l -> S.IPName-sIPName (IPDup _ str) = S.IPDup str-sIPName (IPLin _ str) = S.IPLin str--sQOp :: QOp l -> S.QOp-sQOp (QVarOp _ qn) = S.QVarOp (sQName qn)-sQOp (QConOp _ qn) = S.QConOp (sQName qn)--sOp :: Op l -> S.Op-sOp (VarOp _ n) = S.VarOp (sName n)-sOp (ConOp _ n) = S.ConOp (sName n)--sCName :: CName l -> S.CName-sCName (VarName _ n) = S.VarName (sName n)-sCName (ConName _ n) = S.ConName (sName n)--sModuleHead :: Maybe (ModuleHead l) -> (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])-sModuleHead mmh = case mmh of- Nothing -> (S.main_mod, Nothing, Just [S.EVar (S.UnQual S.main_name)])- Just (ModuleHead _ mn mwt mel) -> (sModuleName mn, fmap sWarningText mwt, fmap sExportSpecList mel)--sExportSpecList :: ExportSpecList l -> [S.ExportSpec]-sExportSpecList (ExportSpecList _ ess) = map sExportSpec ess--sExportSpec :: ExportSpec l -> S.ExportSpec-sExportSpec es = case es of- EVar _ qn -> S.EVar (sQName qn)- EAbs _ n qn -> S.EAbs (sNamespace n)(sQName qn)- EThingAll _ qn -> S.EThingAll (sQName qn)- EThingWith _ qn cns -> S.EThingWith (sQName qn) (map sCName cns)- EModuleContents _ mn -> S.EModuleContents (sModuleName mn)--sImportDecl :: SrcInfo loc => ImportDecl loc -> S.ImportDecl-sImportDecl (ImportDecl l mn qu src safe mpkg as misl) =- S.ImportDecl (getPointLoc l) (sModuleName mn) qu src safe mpkg (fmap sModuleName as) (fmap sImportSpecList misl)--sImportSpecList :: ImportSpecList l -> (Bool, [S.ImportSpec])-sImportSpecList (ImportSpecList _ b iss) = (b, map sImportSpec iss)--sNamespace :: Namespace l -> S.Namespace-sNamespace n = case n of- NoNamespace _ -> S.NoNamespace- TypeNamespace _ -> S.TypeNamespace- PatternNamespace _ -> S.PatternNamespace--sImportSpec :: ImportSpec l -> S.ImportSpec-sImportSpec is = case is of- IVar _ n -> S.IVar (sName n)- IAbs _ ns n -> S.IAbs (sNamespace ns) (sName n)- IThingAll _ n -> S.IThingAll (sName n)- IThingWith _ n cns -> S.IThingWith (sName n) (map sCName cns)--sAssoc :: Assoc l -> S.Assoc-sAssoc a = case a of- AssocNone _ -> S.AssocNone- AssocLeft _ -> S.AssocLeft- AssocRight _ -> S.AssocRight--sDeclHead :: DeclHead l -> (S.Name, [S.TyVarBind])-sDeclHead = go []- where go ts dh' = case dh' of- DHead _ n -> (sName n, ts)- DHInfix _ tva n -> (sName n, sTyVarBind tva:ts)- DHParen _ dh -> (n, ts1 ++ ts)- where (n, ts1) = sDeclHead dh- DHApp _ dh t -> go (sTyVarBind t:ts) dh--sInstRule :: SrcInfo l => InstRule l -> ([S.TyVarBind], [S.Asst], (S.QName, [S.Type]))-sInstRule ih' = case ih' of- IRule _ mtvs mctxt qn -> (tvs, cxt, sInstHead qn)- where cxt = maybe [] sContext mctxt- tvs = maybe [] (map sTyVarBind) mtvs- IParen _ ir -> sInstRule ir--sInstHead :: SrcInfo l => InstHead l -> (S.QName, [S.Type])-sInstHead = go []- where go ts' d' = case d' of- IHCon _ qn -> (sQName qn, ts')- IHInfix _ ta qn -> (sQName qn, sType ta:ts')- IHParen _ ih -> (n, ts1 ++ ts')- where (n, ts1) = sInstHead ih- IHApp _ ih t -> go (sType t:ts') ih--sDataOrNew :: DataOrNew l -> S.DataOrNew-sDataOrNew (DataType _) = S.DataType-sDataOrNew (NewType _) = S.NewType--sDeriving :: SrcInfo l => Deriving l -> [(S.QName, [S.Type])]-sDeriving (Deriving _ irs) = map (\ir -> let (_, _, ret) = sInstRule ir in ret) irs--sBinds :: SrcInfo loc => Binds loc -> S.Binds-sBinds bs = case bs of- BDecls _ decls -> S.BDecls (map sDecl decls)- IPBinds _ ipbds -> S.IPBinds (map sIPBind ipbds)--sIPBind :: SrcInfo loc => IPBind loc -> S.IPBind-sIPBind (IPBind l ipn e) = S.IPBind (getPointLoc l) (sIPName ipn) (sExp e)--sMatch :: SrcInfo loc => Match loc -> S.Match-sMatch (Match l n ps rhs mwhere) =- S.Match (getPointLoc l) (sName n) (map sPat ps) Nothing (sRhs rhs) (sBinds `fmap` mwhere)-sMatch (InfixMatch l pa n pbs rhs mwhere) =- S.Match (getPointLoc l) (sName n) (map sPat (pa:pbs)) Nothing (sRhs rhs) (sBinds `fmap` mwhere)--sQualConDecl :: SrcInfo loc => QualConDecl loc -> S.QualConDecl-sQualConDecl (QualConDecl l mtvs mctxt cd) =- S.QualConDecl (getPointLoc l) (maybe [] (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sConDecl cd)--sConDecl :: SrcInfo l => ConDecl l -> S.ConDecl-sConDecl cd = case cd of- ConDecl _ n bts -> S.ConDecl (sName n) (map sType bts)- InfixConDecl _ bta n btb -> S.InfixConDecl (sType bta) (sName n) (sType btb)- RecDecl _ n fds -> S.RecDecl (sName n) (map sFieldDecl fds)--sFieldDecl :: SrcInfo l => FieldDecl l -> ([S.Name], S.Type)-sFieldDecl (FieldDecl _ ns bt) = (map sName ns, sType bt)--sGadtDecl :: SrcInfo loc => GadtDecl loc -> S.GadtDecl-sGadtDecl (GadtDecl l n mn t) = S.GadtDecl (getPointLoc l) (sName n) (maybe [] sRecFields mn) (sType t)--sClassDecl :: SrcInfo loc => ClassDecl loc -> S.ClassDecl-sClassDecl cd = case cd of- ClsDecl _ d -> S.ClsDecl (sDecl d)- ClsDataFam l mctxt dh mk ->- let (n, tvs) = sDeclHead dh- in S.ClsDataFam (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)- ClsTyFam l dh mk ->- let (n, tvs) = sDeclHead dh- in S.ClsTyFam (getPointLoc l) n tvs (fmap sKind mk)- ClsTyDef l t1 t2 ->- S.ClsTyDef (getPointLoc l) (sType t1) (sType t2)- ClsDefSig l n t ->- S.ClsDefSig (getPointLoc l) (sName n) (sType t)--sRecFields :: SrcInfo l => [FieldDecl l] -> [([S.Name], S.Type)]-sRecFields = map sFieldDecl--sInstDecl :: SrcInfo loc => InstDecl loc -> S.InstDecl-sInstDecl id' = case id' of- InsDecl _ d -> S.InsDecl (sDecl d)- InsType l t1 t2 -> S.InsType (getPointLoc l) (sType t1) (sType t2)- InsData l dn t constrs mder ->- S.InsData (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)- InsGData l dn t mk gds mder ->- S.InsGData (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)--- InsInline l b mact qn -> S.InsInline (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)--sBangType :: SrcInfo l => BangType l -> S.BangType-sBangType bt = case bt of- BangedTy _ -> S.BangedTy- UnpackedTy _ -> S.UnpackedTy--sRhs :: SrcInfo loc => Rhs loc -> S.Rhs-sRhs (UnGuardedRhs _ e) = S.UnGuardedRhs (sExp e)-sRhs (GuardedRhss _ grhss) = S.GuardedRhss (map sGuardedRhs grhss)--sGuardedRhs :: SrcInfo loc => GuardedRhs loc -> S.GuardedRhs-sGuardedRhs (GuardedRhs l ss e) = S.GuardedRhs (getPointLoc l) (map sStmt ss) (sExp e)--sType :: SrcInfo l => Type l -> S.Type-sType t' = case t' of- TyForall _ mtvs mctxt t -> S.TyForall (fmap (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sType t)- TyFun _ t1 t2 -> S.TyFun (sType t1) (sType t2)- TyTuple _ bx ts -> S.TyTuple bx (map sType ts)- TyList _ t -> S.TyList (sType t)- TyParArray _ t -> S.TyParArray (sType t)- TyApp _ t1 t2 -> S.TyApp (sType t1) (sType t2)- TyVar _ n -> S.TyVar (sName n)- TyCon _ qn -> S.TyCon (sQName qn)- TyParen _ t -> S.TyParen (sType t)- TyInfix _ ta qn tb -> S.TyInfix (sType ta) (sQName qn) (sType tb)- TyKind _ t k -> S.TyKind (sType t) (sKind k)- TyPromoted _ t -> S.TyPromoted (sPromoted t)- TyEquals _ t1 t2 -> S.TyEquals (sType t1) (sType t2)- TySplice _ s -> S.TySplice (sSplice s)- TyBang _ b t -> S.TyBang (sBangType b) (sType t)- TyWildCard _ mn -> S.TyWildCard (sName `fmap` mn)--sPromoted :: SrcInfo l => Promoted l -> S.Promoted-sPromoted p = case p of- PromotedInteger _ n _ -> S.PromotedInteger n- PromotedString _ s _ -> S.PromotedString s- PromotedCon _ b qn -> S.PromotedCon b (sQName qn)- PromotedList _ b ps -> S.PromotedList b (map sType ps)- PromotedTuple _ ps -> S.PromotedTuple (map sType ps)- PromotedUnit _ -> S.PromotedUnit---sTyVarBind :: TyVarBind l -> S.TyVarBind-sTyVarBind (KindedVar _ n k) = S.KindedVar (sName n) (sKind k)-sTyVarBind (UnkindedVar _ n) = S.UnkindedVar (sName n)--sKind :: Kind l -> S.Kind-sKind k' = case k' of- KindStar _ -> S.KindStar- KindFn _ k1 k2 -> S.KindFn (sKind k1) (sKind k2)- KindParen _ k -> S.KindParen (sKind k)- KindVar _ n -> S.KindVar (sQName n)- KindApp _ k1 k2 -> S.KindApp (sKind k1) (sKind k2)- KindTuple _ ks -> S.KindTuple (map sKind ks)- KindList _ ks -> S.KindList (sKind ks)--sFunDep :: FunDep l -> S.FunDep-sFunDep (FunDep _ as bs) = S.FunDep (map sName as) (map sName bs)--sContext :: SrcInfo l => Context l -> S.Context-sContext ctxt = case ctxt of- CxSingle _ asst -> [sAsst asst]- CxTuple _ assts -> map sAsst assts- CxEmpty _ -> []--sAsst :: SrcInfo l => Asst l -> S.Asst-sAsst asst = case asst of- ClassA _ qn ts -> S.ClassA (sQName qn) (map sType ts)- AppA _ n ns -> S.AppA (sName n) (map sType ns)- InfixA _ ta qn tb -> S.InfixA (sType ta) (sQName qn) (sType tb)- IParam _ ipn t -> S.IParam (sIPName ipn) (sType t)- EqualP _ t1 t2 -> S.EqualP (sType t1) (sType t2)- ParenA _ a -> S.ParenA (sAsst a)- WildCardA _ mn -> S.WildCardA (sName `fmap` mn)--sLiteral :: Literal l -> S.Literal-sLiteral lit = case lit of- Char _ c _ -> S.Char c- String _ s _ -> S.String s- Int _ i _ -> S.Int i- Frac _ r _ -> S.Frac r- PrimInt _ i _ -> S.PrimInt i- PrimWord _ i _ -> S.PrimWord i- PrimFloat _ r _ -> S.PrimFloat r- PrimDouble _ r _ -> S.PrimDouble r- PrimChar _ c _ -> S.PrimChar c- PrimString _ s _ -> S.PrimString s--sSign :: Sign l -> S.Sign-sSign sg = case sg of- Signless _ -> S.Signless- Negative _ -> S.Negative--sExp :: SrcInfo loc => Exp loc -> S.Exp-sExp e' = case e' of- Var _ qn -> S.Var (sQName qn)- IPVar _ ipn -> S.IPVar (sIPName ipn)- Con _ qn -> S.Con (sQName qn)- Lit _ lit -> S.Lit (sLiteral lit)- InfixApp _ e1 op e2 -> S.InfixApp (sExp e1) (sQOp op) (sExp e2)- App _ e1 e2 -> S.App (sExp e1) (sExp e2)- NegApp _ e -> S.NegApp (sExp e)- Lambda l ps e -> S.Lambda (getPointLoc l) (map sPat ps) (sExp e)- Let _ bs e -> S.Let (sBinds bs) (sExp e)- If _ e1 e2 e3 -> S.If (sExp e1) (sExp e2) (sExp e3)- MultiIf _ alts -> S.MultiIf (map sGuardedRhs alts)- Case _ e alts -> S.Case (sExp e) (map sAlt alts)- Do _ ss -> S.Do (map sStmt ss)- MDo _ ss -> S.MDo (map sStmt ss)- Tuple _ bx es -> S.Tuple bx (map sExp es)- TupleSection _ bx mes -> S.TupleSection bx (map (fmap sExp) mes)- List _ es -> S.List (map sExp es)- ParArray _ es -> S.ParArray (map sExp es)- Paren _ e -> S.Paren (sExp e)- LeftSection _ e op -> S.LeftSection (sExp e) (sQOp op)- RightSection _ op e -> S.RightSection (sQOp op) (sExp e)- RecConstr _ qn fups -> S.RecConstr (sQName qn) (map sFieldUpdate fups)- RecUpdate _ e fups -> S.RecUpdate (sExp e) (map sFieldUpdate fups)- EnumFrom _ e -> S.EnumFrom (sExp e)- EnumFromTo _ e1 e2 -> S.EnumFromTo (sExp e1) (sExp e2)- EnumFromThen _ e1 e2 -> S.EnumFromThen (sExp e1) (sExp e2)- EnumFromThenTo _ e1 e2 e3 -> S.EnumFromThenTo (sExp e1) (sExp e2) (sExp e3)- ParArrayFromTo _ e1 e2 -> S.ParArrayFromTo (sExp e1) (sExp e2)- ParArrayFromThenTo _ e1 e2 e3 -> S.ParArrayFromThenTo (sExp e1) (sExp e2) (sExp e3)- ListComp _ e qss -> S.ListComp (sExp e) (map sQualStmt qss)- ParComp _ e qsss -> S.ParComp (sExp e) (map (map sQualStmt) qsss)- ParArrayComp _ e qsss -> S.ParArrayComp (sExp e) (map (map sQualStmt) qsss)- ExpTypeSig l e t -> S.ExpTypeSig (getPointLoc l) (sExp e) (sType t)- VarQuote _ qn -> S.VarQuote (sQName qn)- TypQuote _ qn -> S.TypQuote (sQName qn)- BracketExp _ br -> S.BracketExp (sBracket br)- SpliceExp _ sp -> S.SpliceExp (sSplice sp)- QuasiQuote _ nm qt -> S.QuasiQuote nm qt- XTag l xn attrs mat es -> S.XTag (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)- XETag l xn attrs mat -> S.XETag (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat)- XPcdata _ str -> S.XPcdata str- XExpTag _ e -> S.XExpTag (sExp e)- XChildTag l es -> S.XChildTag (getPointLoc l) (map sExp es)- CorePragma _ str e -> S.CorePragma str (sExp e)- SCCPragma _ str e -> S.SCCPragma str (sExp e)- GenPragma _ str i12 i34 e -> S.GenPragma str i12 i34 (sExp e)- Proc l p e -> S.Proc (getPointLoc l) (sPat p) (sExp e)- LeftArrApp _ e1 e2 -> S.LeftArrApp (sExp e1) (sExp e2)- RightArrApp _ e1 e2 -> S.RightArrApp (sExp e1) (sExp e2)- LeftArrHighApp _ e1 e2 -> S.LeftArrHighApp (sExp e1) (sExp e2)- RightArrHighApp _ e1 e2 -> S.RightArrHighApp (sExp e1) (sExp e2)- LCase _ alts -> S.LCase (map sAlt alts)- ExprHole _ -> S.ExprHole---sXName :: XName l -> S.XName-sXName (XName _ str) = S.XName str-sXName (XDomName _ dom str) = S.XDomName dom str--sXAttr :: SrcInfo loc => XAttr loc -> S.XAttr-sXAttr (XAttr _ xn e) = S.XAttr (sXName xn) (sExp e)--sBracket:: SrcInfo loc => Bracket loc -> S.Bracket-sBracket br = case br of- ExpBracket _ e -> S.ExpBracket (sExp e)- PatBracket _ p -> S.PatBracket (sPat p)- TypeBracket _ t -> S.TypeBracket (sType t)- DeclBracket _ ds -> S.DeclBracket (map sDecl ds)--sSplice :: SrcInfo loc => Splice loc -> S.Splice-sSplice (IdSplice _ str) = S.IdSplice str-sSplice (ParenSplice _ e) = S.ParenSplice (sExp e)--sSafety :: Safety l -> S.Safety-sSafety (PlayRisky _) = S.PlayRisky-sSafety (PlaySafe _ b) = S.PlaySafe b-sSafety (PlayInterruptible _) = S.PlayInterruptible--sCallConv :: CallConv l -> S.CallConv-sCallConv (StdCall _) = S.StdCall-sCallConv (CCall _) = S.CCall-sCallConv (CPlusPlus _) = S.CPlusPlus-sCallConv (DotNet _) = S.DotNet-sCallConv (Jvm _) = S.Jvm-sCallConv (Js _) = S.Js-sCallConv (JavaScript _) = S.JavaScript-sCallConv (CApi _) = S.CApi--sModulePragma :: SrcInfo loc => ModulePragma loc -> S.ModulePragma-sModulePragma pr = case pr of- LanguagePragma l ns -> S.LanguagePragma (getPointLoc l) (map sName ns)- OptionsPragma l mt str -> S.OptionsPragma (getPointLoc l) mt str- AnnModulePragma l ann' -> S.AnnModulePragma (getPointLoc l) (sAnnotation ann')--sOverlap :: SrcInfo loc => Overlap loc -> S.Overlap-sOverlap o' = case o' of- NoOverlap _ -> S.NoOverlap- Overlap _ -> S.Overlap- Incoherent _ -> S.Incoherent--sActivation :: Activation l -> S.Activation-sActivation act = case act of- ActiveFrom _ k -> S.ActiveFrom k- ActiveUntil _ k -> S.ActiveUntil k--sRule :: SrcInfo loc => Rule loc -> S.Rule-sRule (Rule _ str mact mrvs e1 e2) =- S.Rule str (maybe S.AlwaysActive sActivation mact) (fmap (map sRuleVar) mrvs) (sExp e1) (sExp e2)--sRuleVar :: SrcInfo l => RuleVar l -> S.RuleVar-sRuleVar (RuleVar _ n) = S.RuleVar (sName n)-sRuleVar (TypedRuleVar _ n t) = S.TypedRuleVar (sName n) (sType t)--sWarningText :: WarningText l -> S.WarningText-sWarningText (DeprText _ str) = S.DeprText str-sWarningText (WarnText _ str) = S.WarnText str--sPat :: SrcInfo loc => Pat loc -> S.Pat-sPat pat = case pat of- PVar _ n -> S.PVar (sName n)- PLit _ sg lit -> S.PLit (sSign sg) (sLiteral lit)- PNPlusK _ n k -> S.PNPlusK (sName n) k- PInfixApp _ pa qn pb -> S.PInfixApp (sPat pa) (sQName qn) (sPat pb)- PApp _ qn ps -> S.PApp (sQName qn) (map sPat ps)- PTuple _ bx ps -> S.PTuple bx (map sPat ps)- PList _ ps -> S.PList (map sPat ps)- PParen _ p -> S.PParen (sPat p)- PRec _ qn pfs -> S.PRec (sQName qn) (map sPatField pfs)- PAsPat _ n p -> S.PAsPat (sName n) (sPat p)- PWildCard _ -> S.PWildCard- PIrrPat _ p -> S.PIrrPat (sPat p)- PatTypeSig l p t -> S.PatTypeSig (getPointLoc l) (sPat p) (sType t)- PViewPat _ e p -> S.PViewPat (sExp e) (sPat p)- PRPat _ rps -> S.PRPat (map sRPat rps)- PXTag l xn attrs mat ps -> S.PXTag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat) (map sPat ps)- PXETag l xn attrs mat -> S.PXETag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat)- PXPcdata _ str -> S.PXPcdata str- PXPatTag _ p -> S.PXPatTag (sPat p)- PXRPats _ rps -> S.PXRPats (map sRPat rps)- PQuasiQuote _ nm qt -> S.PQuasiQuote nm qt- PBangPat _ p -> S.PBangPat (sPat p)--sPXAttr :: SrcInfo loc => PXAttr loc -> S.PXAttr-sPXAttr (PXAttr _ xn p) = S.PXAttr (sXName xn) (sPat p)--sRPatOp :: RPatOp l -> S.RPatOp-sRPatOp rpop = case rpop of- RPStar _ -> S.RPStar- RPStarG _ -> S.RPStarG- RPPlus _ -> S.RPPlus- RPPlusG _ -> S.RPPlusG- RPOpt _ -> S.RPOpt- RPOptG _ -> S.RPOptG--sRPat :: SrcInfo loc => RPat loc -> S.RPat-sRPat rp' = case rp' of- RPOp _ rp rop -> S.RPOp (sRPat rp) (sRPatOp rop)- RPEither _ rp1 rp2 -> S.RPEither (sRPat rp1) (sRPat rp2)- RPSeq _ rps -> S.RPSeq (map sRPat rps)- RPGuard _ p ss -> S.RPGuard (sPat p) (map sStmt ss)- RPCAs _ n rp -> S.RPCAs (sName n) (sRPat rp)- RPAs _ n rp -> S.RPAs (sName n) (sRPat rp)- RPParen _ rp -> S.RPParen (sRPat rp)- RPPat _ p -> S.RPPat (sPat p)--sPatField :: SrcInfo loc => PatField loc -> S.PatField-sPatField pf = case pf of- PFieldPat _ qn p -> S.PFieldPat (sQName qn) (sPat p)- PFieldPun _ qn -> S.PFieldPun (sQName qn)- PFieldWildcard _ -> S.PFieldWildcard--sStmt :: SrcInfo loc => Stmt loc -> S.Stmt-sStmt stmt = case stmt of- Generator l p e -> S.Generator (getPointLoc l) (sPat p) (sExp e)- Qualifier _ e -> S.Qualifier (sExp e)- LetStmt _ bs -> S.LetStmt (sBinds bs)- RecStmt _ ss -> S.RecStmt (map sStmt ss)--sQualStmt :: SrcInfo loc => QualStmt loc -> S.QualStmt-sQualStmt qs = case qs of- QualStmt _ stmt -> S.QualStmt (sStmt stmt)- ThenTrans _ e -> S.ThenTrans (sExp e)- ThenBy _ e1 e2 -> S.ThenBy (sExp e1) (sExp e2)- GroupBy _ e -> S.GroupBy (sExp e)- GroupUsing _ e -> S.GroupUsing (sExp e)- GroupByUsing _ e1 e2 -> S.GroupByUsing (sExp e1) (sExp e2)--sFieldUpdate :: SrcInfo loc => FieldUpdate loc -> S.FieldUpdate-sFieldUpdate fu = case fu of- FieldUpdate _ qn e -> S.FieldUpdate (sQName qn) (sExp e)- FieldPun _ qn -> S.FieldPun (sQName qn)- FieldWildcard _ -> S.FieldWildcard--sAlt :: SrcInfo loc => Alt loc -> S.Alt-sAlt (Alt l p galts mbs) = S.Alt (getPointLoc l) (sPat p) (sRhs galts) (sBinds `fmap` mbs)
− src/Language/Haskell/Exts/Annotated/Syntax.hs
@@ -1,1835 +0,0 @@-{-# LANGUAGE DeriveDataTypeable, DeriveFoldable, DeriveTraversable, DeriveFunctor, DeriveGeneric #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Syntax--- Copyright : (c) Niklas Broberg 2004-2009,--- (c) The GHC Team, 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:------ * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)------ * parameters of type class assertions are unrestricted (FlexibleContexts)------ * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)------ * pattern guards (PatternGuards)------ * implicit parameters (ImplicitParameters)------ * generalised algebraic data types (GADTs)------ * template haskell (TemplateHaskell)------ * empty data type declarations (EmptyDataDecls)------ * unboxed tuples (UnboxedTuples)------ * regular patterns (RegularPatterns)------ * HSP-style XML expressions and patterns (XmlSyntax)------ All nodes in the syntax tree are annotated with something of a user-definable data type.--- When parsing, this annotation will contain information about the source location that the--- particular node comes from.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Annotated.Syntax (- -- * Modules- Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),- ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),- -- * Declarations- Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),- -- ** Type classes and instances- ClassDecl(..), InstDecl(..), Deriving(..),- -- ** Data type declarations- DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),- -- ** Function bindings- Match(..), Rhs(..), GuardedRhs(..),- -- * Class Assertions and Contexts- Context(..), FunDep(..), Asst(..),- -- * Types- Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),- TypeEqn (..),- -- * Expressions- Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),- Alt(..), XAttr(..),- -- * Patterns- Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),- -- * Literals- Literal(..), Sign(..),- -- * Variables, Constructors and Operators- ModuleName(..), QName(..), Name(..), QOp(..), Op(..),- SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),-- -- * Template Haskell- Bracket(..), Splice(..),-- -- * FFI- Safety(..), CallConv(..),-- -- * Pragmas- ModulePragma(..), Tool(..), Overlap(..),- Rule(..), RuleVar(..), Activation(..),- Annotation(..), BooleanFormula(..),-- -- * Builtin names-- -- ** Modules- prelude_mod, main_mod,- -- ** Main function of a program- main_name,- -- ** Constructors- unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,- unit_con, tuple_con, unboxed_singleton_con,- -- ** Special identifiers- as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,- export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,- javascript_name, capi_name, forall_name, family_name,- -- ** Type constructors- unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,- unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,-- -- * Source coordinates- -- SrcLoc(..),-- -- * Annotated trees- Annotated(..), (=~=),- ) where--import Prelude hiding (id)--import Data.Data-import GHC.Generics (Generic)-import Data.Foldable (Foldable)-import Data.Traversable (Traversable)---- | The name of a Haskell module.-data ModuleName l = ModuleName l String- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Constructors with special syntax.--- These names are never qualified, and always refer to builtin type or--- data constructors.-data SpecialCon l- = UnitCon l -- ^ unit type and data constructor @()@- | ListCon l -- ^ list type constructor @[]@- | FunCon l -- ^ function type constructor @->@- | TupleCon l Boxed Int -- ^ /n/-ary tuple type and data- -- constructors @(,)@ etc, possibly boxed @(\#,\#)@- | Cons l -- ^ list data constructor @(:)@- | UnboxedSingleCon l -- ^ unboxed singleton tuple constructor @(\# \#)@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | This type is used to represent qualified variables, and also--- qualified constructors.-data QName l- = Qual l (ModuleName l) (Name l) -- ^ name qualified with a module name- | UnQual l (Name l) -- ^ unqualified local name- | Special l (SpecialCon l) -- ^ built-in constructor with special syntax- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | This type is used to represent variables, and also constructors.-data Name l- = Ident l String -- ^ /varid/ or /conid/.- | Symbol l String -- ^ /varsym/ or /consym/- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An implicit parameter name.-data IPName l- = IPDup l String -- ^ ?/ident/, non-linear implicit parameter- | IPLin l String -- ^ %/ident/, linear implicit parameter- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Possibly qualified infix operators (/qop/), appearing in expressions.-data QOp l- = QVarOp l (QName l) -- ^ variable operator (/qvarop/)- | QConOp l (QName l) -- ^ constructor operator (/qconop/)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Operators appearing in @infix@ declarations are never qualified.-data Op l- = VarOp l (Name l) -- ^ variable operator (/varop/)- | ConOp l (Name l) -- ^ constructor operator (/conop/)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A name (/cname/) of a component of a class or data type in an @import@--- or export specification.-data CName l- = VarName l (Name l) -- ^ name of a method or field- | ConName l (Name l) -- ^ name of a data constructor- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A complete Haskell source module.-data Module l- = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]- -- ^ an ordinary Haskell module- | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]- -- ^ a module consisting of a single XML document. The ModuleName never appears in the source- -- but is needed for semantic purposes, it will be the same as the file name.- | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]- (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]- -- ^ a hybrid module combining an XML document with an ordinary module- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of a module, including the name and export specification.-data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit export specification.-data ExportSpecList l- = ExportSpecList l [ExportSpec l]- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An item in a module's export specification.-data ExportSpec l- = EVar l (QName l) -- ^ variable.- | EAbs l (Namespace l) (QName l) -- ^ @T@:- -- a class or datatype exported abstractly,- -- or a type synonym.- | EThingAll l (QName l) -- ^ @T(..)@:- -- a class exported with all of its methods, or- -- a datatype exported with all of its constructors.- | EThingWith l (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:- -- a class exported with some of its methods, or- -- a datatype exported with some of its constructors.- | EModuleContents l (ModuleName l) -- ^ @module M@:- -- re-export a module.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Namespaces for imports/exports.-data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An import declaration.-data ImportDecl l = ImportDecl- { importAnn :: l -- ^ annotation, used by parser for position of the @import@ keyword.- , importModule :: ModuleName l -- ^ name of the module imported.- , importQualified :: Bool -- ^ imported @qualified@?- , importSrc :: Bool -- ^ imported with @{-\# SOURCE \#-}@?- , importSafe :: Bool -- ^ Import @safe@?- , importPkg :: Maybe String -- ^ imported with explicit package name- , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.- , importSpecs :: Maybe (ImportSpecList l)- -- ^ optional list of import specifications.- }- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit import specification list.-data ImportSpecList l- = ImportSpecList l Bool [ImportSpec l]- -- A list of import specifications.- -- The 'Bool' is 'True' if the names are excluded- -- by @hiding@.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An import specification, representing a single explicit item imported--- (or hidden) from a module.-data ImportSpec l- = IVar l (Name l) -- ^ variable- | IAbs l (Namespace l) (Name l) -- ^ @T@:- -- the name of a class, datatype or type synonym.- | IThingAll l (Name l) -- ^ @T(..)@:- -- a class imported with all of its methods, or- -- a datatype imported with all of its constructors.- | IThingWith l (Name l) [CName l] -- ^ @T(C_1,...,C_n)@:- -- a class imported with some of its methods, or- -- a datatype imported with some of its constructors.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Associativity of an operator.-data Assoc l- = AssocNone l -- ^ non-associative operator (declared with @infix@)- | AssocLeft l -- ^ left-associative operator (declared with @infixl@).- | AssocRight l -- ^ right-associative operator (declared with @infixr@)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A top-level declaration.-data Decl l- = TypeDecl l (DeclHead l) (Type l)- -- ^ A type declaration- | TypeFamDecl l (DeclHead l) (Maybe (Kind l))- -- ^ A type family declaration- | ClosedTypeFamDecl l (DeclHead l) (Maybe (Kind l)) [TypeEqn l]- -- ^ A closed type family declaration- | DataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) [QualConDecl l] (Maybe (Deriving l))- -- ^ A data OR newtype declaration- | GDataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))- -- ^ A data OR newtype declaration, GADT style- | DataFamDecl l {-data-} (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))- -- ^ A data family declaration- | TypeInsDecl l (Type l) (Type l)- -- ^ A type family instance declaration- | DataInsDecl l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))- -- ^ A data family instance declaration- | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))- -- ^ A data family instance declaration, GADT style- | ClassDecl l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])- -- ^ A declaration of a type class- | InstDecl l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])- -- ^ An declaration of a type class instance- | DerivDecl l (Maybe (Overlap l)) (InstRule l)- -- ^ A standalone deriving declaration- | InfixDecl l (Assoc l) (Maybe Int) [Op l]- -- ^ A declaration of operator fixity- | DefaultDecl l [Type l]- -- ^ A declaration of default types- | SpliceDecl l (Exp l)- -- ^ A Template Haskell splicing declaration- | TypeSig l [Name l] (Type l)- -- ^ A type signature declaration- | PatSynSig l (Name l) (Maybe [TyVarBind l]) (Maybe (Context l)) (Maybe (Context l)) (Type l)- -- ^ A pattern synonym signature declation- | FunBind l [Match l]- -- ^ A set of function binding clauses- | PatBind l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))- -- ^ A pattern binding- | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)- -- ^ A pattern synonym binding- | ForImp l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)- -- ^ A foreign import declaration- | ForExp l (CallConv l) (Maybe String) (Name l) (Type l)- -- ^ A foreign export declaration- | RulePragmaDecl l [Rule l]- -- ^ A RULES pragma- | DeprPragmaDecl l [([Name l], String)]- -- ^ A DEPRECATED pragma- | WarnPragmaDecl l [([Name l], String)]- -- ^ A WARNING pragma- | InlineSig l Bool (Maybe (Activation l)) (QName l)- -- ^ An INLINE pragma- | InlineConlikeSig l (Maybe (Activation l)) (QName l)- -- ^ An INLINE CONLIKE pragma- | SpecSig l (Maybe (Activation l)) (QName l) [Type l]- -- ^ A SPECIALISE pragma- | SpecInlineSig l Bool (Maybe (Activation l)) (QName l) [Type l]- -- ^ A SPECIALISE INLINE pragma- | InstSig l (InstRule l)- -- ^ A SPECIALISE instance pragma- | AnnPragma l (Annotation l)- -- ^ An ANN pragma- | MinimalPragma l (Maybe (BooleanFormula l))- -- ^ A MINIMAL pragma- | RoleAnnotDecl l (QName l) [Role l]- -- ^ A role annotation- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)--data PatternSynDirection l =- Unidirectional -- ^ A unidirectional pattern synonym with "<-"- | ImplicitBidirectional -- ^ A bidirectional pattern synonym with "="- | ExplicitBidirectional l [Decl l] -- ^ A birectional pattern synonym with the construction specified.- deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)---- | A type equation as found in closed type families.-data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An annotation through an ANN pragma.-data Annotation l- = Ann l (Name l) (Exp l)- -- ^ An annotation for a declared name.- | TypeAnn l (Name l) (Exp l)- -- ^ An annotation for a declared type.- | ModuleAnn l (Exp l)- -- ^ An annotation for the defining module.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A boolean formula for MINIMAL pragmas.-data BooleanFormula l- = VarFormula l (Name l) -- ^ A variable.- | AndFormula l [BooleanFormula l] -- ^ And boolean formulas.- | OrFormula l [BooleanFormula l] -- ^ Or boolean formulas.- | ParenFormula l (BooleanFormula l) -- ^ Parenthesized boolean formulas.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)--data Role l- = Nominal l- | Representational l- | Phantom l- | RoleWildcard l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A flag stating whether a declaration is a data or newtype declaration.-data DataOrNew l = DataType l | NewType l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The head of a type or class declaration, which consists of the type--- or class name applied to some type variables------ @class C a b@ is represented as------ >DHApp--- > ()--- > (DHApp--- > () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))--- > (UnkindedVar () (Ident () "b"))------ (where the annotation type @l@ is instantiated with @()@)------ @class (a :< b) c@ is represented as------ >DHApp--- > ()--- > (DHParen--- > ()--- > (DHApp--- > ()--- > (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))--- > (UnkindedVar () (Ident () "b"))))--- > (UnkindedVar () (Ident () "c"))-data DeclHead l- = DHead l (Name l) -- ^ type or class name- | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand- | DHParen l (DeclHead l) -- ^ parenthesized declaration head- | DHApp l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.------ Example: @instance Ord a => Ord (Maybe a)@ is represented as------ >IRule--- > ()--- > Nothing--- > (Just--- > (CxSingle--- > ()--- > (ClassA--- > () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))--- > (IHApp--- > ()--- > (IHCon () (UnQual () (Ident () "Ord")))--- > (TyParen--- > ()--- > (TyApp--- > ()--- > (TyCon () (UnQual () (Ident () "Maybe")))--- > (TyVar () (Ident () "a")))))------ An optional explicit forall after @instance@ is supported:--- @instance forall a . Ord a => Ord (Maybe a) where@ becomes------ >IRule--- > ()--- > (Just [ UnkindedVar () (Ident () "a") ])--- > ...-data InstRule l- = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)- | IParen l (InstRule l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- See bugs #7 and #31 for more details and use cases for the rationale--- of the split. DeclOrInstHead should be used by DeclHead as the name implies.---- | The instance head. The split between rule/head allow us to represent--- @instance (Bounded a => Bounded [a]) where@ faithfully.------ The structure of 'InstHead' follows one of 'DeclHead'.------ For example, @instance C (Maybe a) Int where@ is represented as------ >IHApp--- > ()--- > (IHApp--- > ()--- > (IHCon () (UnQual () (Ident () "C")))--- > (TyParen--- > ()--- > (TyApp--- > ()--- > (TyCon () (UnQual () (Ident () "Maybe")))--- > (TyVar () (Ident () "a")))))--- > (TyCon () (UnQual () (Ident () "Int")))))-data InstHead l- = IHCon l (QName l) -- ^ type or class name- | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand- | IHParen l (InstHead l) -- ^ parenthesized instance head- | IHApp l (InstHead l) (Type l) -- ^ application to one more type- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A deriving clause following a data type declaration.-data Deriving l = Deriving l [InstRule l]- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A binding group inside a @let@ or @where@ clause.-data Binds l- = BDecls l [Decl l] -- ^ An ordinary binding group- | IPBinds l [IPBind l] -- ^ A binding group for implicit parameters- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A binding of an implicit parameter.-data IPBind l = IPBind l (IPName l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Clauses of a function binding.-data Match l- = Match l (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))- -- ^ A clause defined with prefix notation, i.e. the function name- -- followed by its argument patterns, the right-hand side and an- -- optional where clause.- | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))- -- ^ A clause defined with infix notation, i.e. first its first argument- -- pattern, then the function name, then its following argument(s),- -- the right-hand side and an optional where clause.- -- Note that there can be more than two arguments to a function declared- -- infix, hence the list of pattern arguments.- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A single constructor declaration within a data type declaration,--- which may have an existential quantification binding.-data QualConDecl l- = QualConDecl l- {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))- {- => -} (ConDecl l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declaration of an ordinary data constructor.-data ConDecl l- = ConDecl l (Name l) [Type l]- -- ^ ordinary data constructor- | InfixConDecl l (Type l) (Name l) (Type l)- -- ^ infix data constructor- | RecDecl l (Name l) [FieldDecl l]- -- ^ record constructor- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declaration of a (list of) named field(s).-data FieldDecl l = FieldDecl l [Name l] (Type l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A single constructor declaration in a GADT data type declaration.------ If the GADT is declared using the record syntax, e.g.------ >data Ty where--- > TCon :: { field1 :: Int, field2 :: Bool } -> Ty------ then the fields are stored as a list of 'FieldDecl's, and the final type--- (@Ty@ in the above example) is stored in the last 'Type' field.------ If the GADT is declared using the ordinary syntax, e.g.------ >data Ty where--- > TCon :: Int -> Bool -> Ty------ then @'Maybe' ['FieldDecl' l]@ is 'Nothing', and the whole constructor's--- type (such as @Int -> Bool -> Ty@) is stored in the last 'Type' field.-data GadtDecl l- = GadtDecl l (Name l) (Maybe [FieldDecl l]) (Type l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declarations inside a class declaration.-data ClassDecl l- = ClsDecl l (Decl l)- -- ^ ordinary declaration- | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))- -- ^ declaration of an associated data type- | ClsTyFam l (DeclHead l) (Maybe (Kind l))- -- ^ declaration of an associated type synonym- | ClsTyDef l (Type l) (Type l)- -- ^ default choice for an associated type synonym- | ClsDefSig l (Name l) (Type l)- -- ^ default signature- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Declarations inside an instance declaration.-data InstDecl l- = InsDecl l (Decl l)- -- ^ ordinary declaration- | InsType l (Type l) (Type l)- -- ^ an associated type definition- | InsData l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))- -- ^ an associated data type implementation- | InsGData l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))- -- ^ an associated data type implemented using GADT style- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The type of a constructor argument or field, optionally including--- a strictness annotation.-data BangType l- = BangedTy l -- ^ strict component, marked with \"@!@\"- | UnpackedTy l -- ^ unboxed component, marked with an UNPACK pragma- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The right hand side of a function binding, pattern binding, or a case--- alternative.-data Rhs l- = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)- | GuardedRhss l [GuardedRhs l]- -- ^ guarded right hand side (/gdrhs/)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/--- for case alternatives.--- The guard is a series of statements when using pattern guards,--- otherwise it will be a single qualifier expression.-data GuardedRhs l- = GuardedRhs l [Stmt l] (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A type qualified with a context.--- An unqualified type has an empty context.-data Type l- = TyForall l- (Maybe [TyVarBind l])- (Maybe (Context l))- (Type l) -- ^ qualified type- | TyFun l (Type l) (Type l) -- ^ function type- | TyTuple l Boxed [Type l] -- ^ tuple type, possibly boxed- | TyList l (Type l) -- ^ list syntax, e.g. [a], as opposed to [] a- | TyParArray l (Type l) -- ^ parallel array syntax, e.g. [:a:]- | TyApp l (Type l) (Type l) -- ^ application of a type constructor- | TyVar l (Name l) -- ^ type variable- | TyCon l (QName l) -- ^ named type or type constructor- | TyParen l (Type l) -- ^ type surrounded by parentheses- | TyInfix l (Type l) (QName l) (Type l) -- ^ infix type constructor- | TyKind l (Type l) (Kind l) -- ^ type with explicit kind signature- | TyPromoted l (Promoted l) -- ^ @'K@, a promoted data type (-XDataKinds).- | TyEquals l (Type l) (Type l) -- ^ type equality predicate enabled by ConstraintKinds- | TySplice l (Splice l) -- ^ template haskell splice type- | TyBang l (BangType l) (Type l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.- | TyWildCard l (Maybe (Name l)) -- ^ Either an anonymous of named type wildcard- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Bools here are True if there was a leading quote which may be--- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.-data Promoted l- = PromotedInteger l Integer String -- ^ parsed value and raw string- | PromotedString l String String -- ^ parsed value and raw string- | PromotedCon l Bool (QName l)- | PromotedList l Bool [Type l]- | PromotedTuple l [Type l]- | PromotedUnit l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Flag denoting whether a tuple is boxed or unboxed.-data Boxed = Boxed | Unboxed- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type variable declaration, optionally with an explicit kind annotation.-data TyVarBind l- = KindedVar l (Name l) (Kind l) -- ^ variable binding with kind annotation- | UnkindedVar l (Name l) -- ^ ordinary variable binding- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An explicit kind annotation.-data Kind l- = KindStar l -- ^ @*@, the kind of types- | KindFn l (Kind l) (Kind l) -- ^ @->@, the kind of a type constructor- | KindParen l (Kind l) -- ^ a parenthesised kind- | KindVar l (QName l) -- ^ @k@, a kind variable (-XPolyKinds)- | KindApp l (Kind l) (Kind l) -- ^ @k1 k2@- | KindTuple l [Kind l] -- ^ @'(k1,k2,k3)@, a promoted tuple- | KindList l (Kind l) -- ^ @'[k1]@, a promoted list literal- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A functional dependency, given on the form--- l1 l2 ... ln -> r2 r3 .. rn-data FunDep l- = FunDep l [Name l] [Name l]- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A context is a set of assertions-data Context l- = CxSingle l (Asst l)- | CxTuple l [Asst l]- | CxEmpty l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Class assertions.--- In Haskell 98, the argument would be a /tyvar/, but this definition--- allows multiple parameters, and allows them to be /type/s.--- Also extended with support for implicit parameters and equality constraints.-data Asst l- = ClassA l (QName l) [Type l] -- ^ ordinary class assertion- | AppA l (Name l) [Type l] -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@- | InfixA l (Type l) (QName l) (Type l) -- ^ class assertion where the class name is given infix- | IParam l (IPName l) (Type l) -- ^ implicit parameter assertion- | EqualP l (Type l) (Type l) -- ^ type equality constraint- | ParenA l (Asst l) -- ^ parenthesised class assertion- | WildCardA l (Maybe (Name l)) -- ^ Context Wildcard- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | /literal/--- Values of this type hold the abstract value of the literal, along with the--- precise string representation used. For example, @10@, @0o12@ and @0xa@--- have the same value representation, but each carry a different string representation.-data Literal l- = Char l Char String -- ^ character literal- | String l String String -- ^ string literal- | Int l Integer String -- ^ integer literal- | Frac l Rational String -- ^ floating point literal- | PrimInt l Integer String -- ^ unboxed integer literal- | PrimWord l Integer String -- ^ unboxed word literal- | PrimFloat l Rational String -- ^ unboxed float literal- | PrimDouble l Rational String -- ^ unboxed double literal- | PrimChar l Char String -- ^ unboxed character literal- | PrimString l String String -- ^ unboxed string literal- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An indication whether a literal pattern has been negated or not.-data Sign l- = Signless l- | Negative l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Haskell expressions.-data Exp l- = Var l (QName l) -- ^ variable- | IPVar l (IPName l) -- ^ implicit parameter variable- | Con l (QName l) -- ^ data constructor- | Lit l (Literal l) -- ^ literal constant- | InfixApp l (Exp l) (QOp l) (Exp l) -- ^ infix application- | App l (Exp l) (Exp l) -- ^ ordinary application- | NegApp l (Exp l) -- ^ negation expression @-/exp/@ (unary minus)- | Lambda l [Pat l] (Exp l) -- ^ lambda expression- | Let l (Binds l) (Exp l) -- ^ local declarations with @let@ ... @in@ ...- | If l (Exp l) (Exp l) (Exp l) -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/- | MultiIf l [GuardedRhs l] -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...- | Case l (Exp l) [Alt l] -- ^ @case@ /exp/ @of@ /alts/- | Do l [Stmt l] -- ^ @do@-expression:- -- the last statement in the list- -- should be an expression.- | MDo l [Stmt l] -- ^ @mdo@-expression- | Tuple l Boxed [Exp l] -- ^ tuple expression- | TupleSection l Boxed [Maybe (Exp l)] -- ^ tuple section expression, e.g. @(,,3)@- | List l [Exp l] -- ^ list expression- | ParArray l [Exp l] -- ^ parallel array expression- | Paren l (Exp l) -- ^ parenthesised expression- | LeftSection l (Exp l) (QOp l) -- ^ left section @(@/exp/ /qop/@)@- | RightSection l (QOp l) (Exp l) -- ^ right section @(@/qop/ /exp/@)@- | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression- | RecUpdate l (Exp l) [FieldUpdate l] -- ^ record update expression- | EnumFrom l (Exp l) -- ^ unbounded arithmetic sequence,- -- incrementing by 1: @[from ..]@- | EnumFromTo l (Exp l) (Exp l) -- ^ bounded arithmetic sequence,- -- incrementing by 1 @[from .. to]@- | EnumFromThen l (Exp l) (Exp l) -- ^ unbounded arithmetic sequence,- -- with first two elements given @[from, then ..]@- | EnumFromThenTo l (Exp l) (Exp l) (Exp l)- -- ^ bounded arithmetic sequence,- -- with first two elements given @[from, then .. to]@- | ParArrayFromTo l (Exp l) (Exp l) -- ^ Parallel array bounded arithmetic sequence,- -- incrementing by 1 @[:from .. to:]@- | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)- -- ^ bounded arithmetic sequence,- -- with first two elements given @[:from, then .. to:]@- | ListComp l (Exp l) [QualStmt l] -- ^ ordinary list comprehension- | ParComp l (Exp l) [[QualStmt l]] -- ^ parallel list comprehension- | ParArrayComp l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension- | ExpTypeSig l (Exp l) (Type l) -- ^ expression with explicit type signature-- | VarQuote l (QName l) -- ^ @'x@ for template haskell reifying of expressions- | TypQuote l (QName l) -- ^ @''T@ for template haskell reifying of types- | BracketExp l (Bracket l) -- ^ template haskell bracket expression- | SpliceExp l (Splice l) -- ^ template haskell splice expression- | QuasiQuote l String String -- ^ quasi-quotaion: @[$/name/| /string/ |]@---- Hsx- | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]- -- ^ xml element, with attributes and children- | XETag l (XName l) [XAttr l] (Maybe (Exp l))- -- ^ empty xml element, with attributes- | XPcdata l String -- ^ PCDATA child element- | XExpTag l (Exp l) -- ^ escaped haskell expression inside xml- | XChildTag l [Exp l] -- ^ children of an xml element----- Pragmas- | CorePragma l String (Exp l) -- ^ CORE pragma- | SCCPragma l String (Exp l) -- ^ SCC pragma- | GenPragma l String (Int, Int) (Int, Int) (Exp l)- -- ^ GENERATED pragma---- Arrows- | Proc l (Pat l) (Exp l) -- ^ arrows proc: @proc@ /pat/ @->@ /exp/- | LeftArrApp l (Exp l) (Exp l) -- ^ arrow application (from left): /exp/ @-<@ /exp/- | RightArrApp l (Exp l) (Exp l) -- ^ arrow application (from right): /exp/ @>-@ /exp/- | LeftArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/- | RightArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/---- LambdaCase- | LCase l [Alt l] -- ^ @\case@ /alts/---- Holes- | ExprHole l -- ^ Expression hole- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The name of an xml element or attribute,--- possibly qualified with a namespace.-data XName l- = XName l String -- <name ...- | XDomName l String String -- <dom:name ...- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An xml attribute, which is a name-expression pair.-data XAttr l = XAttr l (XName l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A template haskell bracket expression.-data Bracket l- = ExpBracket l (Exp l) -- ^ expression bracket: @[| ... |]@- | PatBracket l (Pat l) -- ^ pattern bracket: @[p| ... |]@- | TypeBracket l (Type l) -- ^ type bracket: @[t| ... |]@- | DeclBracket l [Decl l] -- ^ declaration bracket: @[d| ... |]@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A template haskell splice expression-data Splice l- = IdSplice l String -- ^ variable splice: @$var@- | ParenSplice l (Exp l) -- ^ parenthesised expression splice: @$(/exp/)@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The safety of a foreign function call.-data Safety l- = PlayRisky l -- ^ unsafe- | PlaySafe l Bool -- ^ safe ('False') or threadsafe ('True')- | PlayInterruptible l -- ^ interruptible- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The calling convention of a foreign function call.-data CallConv l- = StdCall l- | CCall l- | CPlusPlus l- | DotNet l- | Jvm l- | Js l- | JavaScript l- | CApi l- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A top level options pragma, preceding the module header.-data ModulePragma l- = LanguagePragma l [Name l] -- ^ LANGUAGE pragma- | OptionsPragma l (Maybe Tool) String- -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC- | AnnModulePragma l (Annotation l)- -- ^ ANN pragma with module scope- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Recognised tools for OPTIONS pragmas.-data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Recognised overlaps for overlap pragmas.-data Overlap l- = NoOverlap l -- ^ NO_OVERLAP pragma- | Overlap l -- ^ OVERLAP pragma- | Incoherent l -- ^ INCOHERENT pragma- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Activation clause of a RULES pragma.-data Activation l- = ActiveFrom l Int- | ActiveUntil l Int- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | The body of a RULES pragma.-data Rule l- = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Variables used in a RULES pragma, optionally annotated with types-data RuleVar l- = RuleVar l (Name l)- | TypedRuleVar l (Name l) (Type l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | Warning text to optionally use in the module header of e.g.--- a deprecated module.-data WarningText l- = DeprText l String- | WarnText l String- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)----- | A pattern, to be matched against a value.-data Pat l- = PVar l (Name l) -- ^ variable- | PLit l (Sign l) (Literal l) -- ^ literal constant- | PNPlusK l (Name l) Integer -- ^ n+k pattern- | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor- | PApp l (QName l) [Pat l] -- ^ data constructor and argument patterns- | PTuple l Boxed [Pat l] -- ^ tuple pattern- | PList l [Pat l] -- ^ list pattern- | PParen l (Pat l) -- ^ parenthesized pattern- | PRec l (QName l) [PatField l] -- ^ labelled pattern, record style- | PAsPat l (Name l) (Pat l) -- ^ @\@@-pattern- | PWildCard l -- ^ wildcard pattern: @_@- | PIrrPat l (Pat l) -- ^ irrefutable pattern: @~/pat/@- | PatTypeSig l (Pat l) (Type l) -- ^ pattern with type signature- | PViewPat l (Exp l) (Pat l) -- ^ view patterns of the form @(/exp/ -> /pat/)@- | PRPat l [RPat l] -- ^ regular list pattern- | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]- -- ^ XML element pattern- | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))- -- ^ XML singleton element pattern- | PXPcdata l String -- ^ XML PCDATA pattern- | PXPatTag l (Pat l) -- ^ XML embedded pattern- | PXRPats l [RPat l] -- ^ XML regular list pattern- | PQuasiQuote l String String -- ^ quasi quote pattern: @[$/name/| /string/ |]@- | PBangPat l (Pat l) -- ^ strict (bang) pattern: @f !x = ...@- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An XML attribute in a pattern.-data PXAttr l = PXAttr l (XName l) (Pat l)- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A regular pattern operator.-data RPatOp l- = RPStar l -- ^ @*@ = 0 or more- | RPStarG l -- ^ @*!@ = 0 or more, greedy- | RPPlus l -- ^ @+@ = 1 or more- | RPPlusG l -- ^ @+!@ = 1 or more, greedy- | RPOpt l -- ^ @?@ = 0 or 1- | RPOptG l -- ^ @?!@ = 0 or 1, greedy- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An entity in a regular pattern.-data RPat l- = RPOp l (RPat l) (RPatOp l) -- ^ operator pattern, e.g. pat*- | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)- | RPSeq l [RPat l] -- ^ sequence pattern, e.g. (| 1, 2, 3 |)- | RPGuard l (Pat l) [Stmt l] -- ^ guarded pattern, e.g. (| p | p < 3 |)- | RPCAs l (Name l) (RPat l) -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*- | RPAs l (Name l) (RPat l) -- ^ linear variable binding, e.g. foo\@(1 | 2)- | RPParen l (RPat l) -- ^ parenthesised pattern, e.g. (2*)- | RPPat l (Pat l) -- ^ an ordinary pattern- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /fpat/ in a labeled record pattern.-data PatField l- = PFieldPat l (QName l) (Pat l) -- ^ ordinary label-pattern pair- | PFieldPun l (QName l) -- ^ record field pun- | PFieldWildcard l -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A statement, representing both a /stmt/ in a @do@-expression,--- an ordinary /qual/ in a list comprehension, as well as a /stmt/--- in a pattern guard.-data Stmt l- = Generator l (Pat l) (Exp l)- -- ^ a generator: /pat/ @<-@ /exp/- | Qualifier l (Exp l) -- ^ an /exp/ by itself: in a @do@-expression,- -- an action whose result is discarded;- -- in a list comprehension and pattern guard,- -- a guard expression- | LetStmt l (Binds l) -- ^ local bindings- | RecStmt l [Stmt l] -- ^ a recursive binding group for arrows- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | A general /transqual/ in a list comprehension,--- which could potentially be a transform of the kind--- enabled by TransformListComp.-data QualStmt l- = QualStmt l (Stmt l) -- ^ an ordinary statement- | ThenTrans l (Exp l) -- ^ @then@ /exp/- | ThenBy l (Exp l) (Exp l) -- ^ @then@ /exp/ @by@ /exp/- | GroupBy l (Exp l) -- ^ @then@ @group@ @by@ /exp/- | GroupUsing l (Exp l) -- ^ @then@ @group@ @using@ /exp/- | GroupByUsing l (Exp l) (Exp l) -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /fbind/ in a labeled construction or update expression.-data FieldUpdate l- = FieldUpdate l (QName l) (Exp l) -- ^ ordinary label-expresion pair- | FieldPun l (QName l) -- ^ record field pun- | FieldWildcard l -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---- | An /alt/ alternative in a @case@ expression.-data Alt l- = Alt l (Pat l) (Rhs l) (Maybe (Binds l))- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)---------------------------------------------------------------------------------- Builtin names.--prelude_mod, main_mod :: l -> ModuleName l-prelude_mod l = ModuleName l "Prelude"-main_mod l = ModuleName l "Main"--main_name :: l -> Name l-main_name l = Ident l "main"--unit_con_name :: l -> QName l-unit_con_name l = Special l (UnitCon l)--tuple_con_name :: l -> Boxed -> Int -> QName l-tuple_con_name l b i = Special l (TupleCon l b (i+1))--list_cons_name :: l -> QName l-list_cons_name l = Special l (Cons l)--unboxed_singleton_con_name :: l -> QName l-unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)--unit_con :: l -> Exp l-unit_con l = Con l $ unit_con_name l--tuple_con :: l -> Boxed -> Int -> Exp l-tuple_con l b i = Con l (tuple_con_name l b i)--unboxed_singleton_con :: l -> Exp l-unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)--as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l-as_name l = Ident l "as"-qualified_name l = Ident l "qualified"-hiding_name l = Ident l "hiding"-minus_name l = Symbol l "-"-bang_name l = Symbol l "!"-dot_name l = Symbol l "."-star_name l = Symbol l "*"--export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name,- jvm_name, js_name, javascript_name, capi_name, forall_name,- family_name :: l -> Name l-export_name l = Ident l "export"-safe_name l = Ident l "safe"-unsafe_name l = Ident l "unsafe"-interruptible_name l = Ident l "interruptible"-threadsafe_name l = Ident l "threadsafe"-stdcall_name l = Ident l "stdcall"-ccall_name l = Ident l "ccall"-cplusplus_name l = Ident l "cplusplus"-dotnet_name l = Ident l "dotnet"-jvm_name l = Ident l "jvm"-js_name l = Ident l "js"-javascript_name l = Ident l "javascript"-capi_name l = Ident l "capi"-forall_name l = Ident l "forall"-family_name l = Ident l "family"--unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l-unit_tycon_name l = unit_con_name l-fun_tycon_name l = Special l (FunCon l)-list_tycon_name l = Special l (ListCon l)-unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)--tuple_tycon_name :: l -> Boxed -> Int -> QName l-tuple_tycon_name l b i = tuple_con_name l b i--unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l-unit_tycon l = TyCon l $ unit_tycon_name l-fun_tycon l = TyCon l $ fun_tycon_name l-list_tycon l = TyCon l $ list_tycon_name l-unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l--tuple_tycon :: l -> Boxed -> Int -> Type l-tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)---------------------------------------------------------------------------------- AST traversal, boiler-plate style---- | Test if two AST elements are equal modulo annotations.-(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool-a =~= b = fmap (const ()) a == fmap (const ()) b---------------------------------------------------------------------------------- Reading annotations---- | AST nodes are annotated, and this class allows manipulation of the annotations.-class Functor ast => Annotated ast where- -- | Retrieve the annotation of an AST node.- ann :: ast l -> l- -- | Change the annotation of an AST node. Note that only the annotation of- -- the node itself is affected, and not the annotations of any child nodes.- -- if all nodes in the AST tree are to be affected, use 'fmap'.- amap :: (l -> l) -> ast l -> ast l--instance Annotated ModuleName where- ann (ModuleName l _) = l- amap f (ModuleName l n) = ModuleName (f l) n--instance Annotated SpecialCon where- ann sc = case sc of- UnitCon l -> l- ListCon l -> l- FunCon l -> l- TupleCon l _ _ -> l- Cons l -> l- UnboxedSingleCon l -> l- amap = fmap--instance Annotated QName where- ann qn = case qn of- Qual l _ _ -> l- UnQual l _ -> l- Special l _ -> l- amap f qn = case qn of- Qual l mn n -> Qual (f l) mn n- UnQual l n -> UnQual (f l) n- Special l sc -> Special (f l) sc--instance Annotated Name where- ann (Ident l _) = l- ann (Symbol l _) = l- amap = fmap--instance Annotated IPName where- ann (IPDup l _) = l- ann (IPLin l _) = l- amap = fmap--instance Annotated QOp where- ann (QVarOp l _) = l- ann (QConOp l _) = l- amap f (QVarOp l qn) = QVarOp (f l) qn- amap f (QConOp l qn) = QConOp (f l) qn--instance Annotated Op where- ann (VarOp l _) = l- ann (ConOp l _) = l- amap f (VarOp l n) = VarOp (f l) n- amap f (ConOp l n) = ConOp (f l) n--instance Annotated CName where- ann (VarName l _) = l- ann (ConName l _) = l- amap f (VarName l n) = VarName (f l) n- amap f (ConName l n) = ConName (f l) n--instance Annotated Module where- ann (Module l _ _ _ _) = l- ann (XmlPage l _ _ _ _ _ _) = l- ann (XmlHybrid l _ _ _ _ _ _ _ _) = l-- amap f (Module l mmh ops iss dcls) =- Module (f l) mmh ops iss dcls- amap f (XmlPage l mn os xn xas me es) =- XmlPage (f l) mn os xn xas me es- amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =- XmlHybrid (f l) mmh ops iss dcls xn xas me es--instance Annotated ModuleHead where- ann (ModuleHead l _ _ _) = l- amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl--instance Annotated ExportSpecList where- ann (ExportSpecList l _) = l- amap f (ExportSpecList l ess) = ExportSpecList (f l) ess--instance Annotated ExportSpec where- ann es = case es of- EVar l _ -> l- EAbs l _ _ -> l- EThingAll l _ -> l- EThingWith l _ _ -> l- EModuleContents l _ -> l- amap f es = case es of- EVar l qn -> EVar (f l) qn- EAbs l n qn -> EAbs (f l) n qn- EThingAll l qn -> EThingAll (f l) qn- EThingWith l qn cns -> EThingWith (f l) qn cns- EModuleContents l mn -> EModuleContents (f l) mn--instance Annotated Namespace where- ann es = case es of- NoNamespace l -> l- TypeNamespace l -> l- PatternNamespace l -> l- amap f es = case es of- NoNamespace l -> NoNamespace (f l)- TypeNamespace l -> TypeNamespace (f l)- PatternNamespace l -> PatternNamespace (f l)--instance Annotated ImportDecl where- ann (ImportDecl l _ _ _ _ _ _ _) = l- amap f (ImportDecl l mn qual src safe pkg mmn mis) =- ImportDecl (f l) mn qual src safe pkg mmn mis--instance Annotated ImportSpecList where- ann (ImportSpecList l _ _) = l- amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss--instance Annotated ImportSpec where- ann is = case is of- IVar l _ -> l- IAbs l _ _ -> l- IThingAll l _ -> l- IThingWith l _ _ -> l- amap f is = case is of- IVar l n -> IVar (f l) n- IAbs l ns n -> IAbs (f l) ns n- IThingAll l n -> IThingAll (f l) n- IThingWith l n cns -> IThingWith (f l) n cns--instance Annotated Assoc where- ann (AssocNone l) = l- ann (AssocLeft l) = l- ann (AssocRight l) = l- amap = fmap--instance Annotated Deriving where- ann (Deriving l _) = l- amap f (Deriving l ihs) = Deriving (f l) ihs--instance Annotated TypeEqn where- ann (TypeEqn l _ _) = l- amap f (TypeEqn l a b) = TypeEqn (f l) a b--instance Annotated Decl where- ann decl = case decl of- TypeDecl l _ _ -> l- TypeFamDecl l _ _ -> l- ClosedTypeFamDecl l _ _ _ -> l- DataDecl l _ _ _ _ _ -> l- GDataDecl l _ _ _ _ _ _ -> l- DataFamDecl l _ _ _ -> l- TypeInsDecl l _ _ -> l- DataInsDecl l _ _ _ _ -> l- GDataInsDecl l _ _ _ _ _ -> l- ClassDecl l _ _ _ _ -> l- InstDecl l _ _ _ -> l- DerivDecl l _ _ -> l- InfixDecl l _ _ _ -> l- DefaultDecl l _ -> l- SpliceDecl l _ -> l- TypeSig l _ _ -> l- PatSynSig l _ _ _ _ _ -> l- FunBind l _ -> l- PatBind l _ _ _ -> l- ForImp l _ _ _ _ _ -> l- ForExp l _ _ _ _ -> l- RulePragmaDecl l _ -> l- DeprPragmaDecl l _ -> l- WarnPragmaDecl l _ -> l- InlineSig l _ _ _ -> l- InlineConlikeSig l _ _ -> l- SpecSig l _ _ _ -> l- SpecInlineSig l _ _ _ _ -> l- InstSig l _ -> l- AnnPragma l _ -> l- MinimalPragma l _ -> l- RoleAnnotDecl l _ _ -> l- PatSyn l _ _ _ -> l- amap f decl = case decl of- TypeDecl l dh t -> TypeDecl (f l) dh t- TypeFamDecl l dh mk -> TypeFamDecl (f l) dh mk- ClosedTypeFamDecl l dh mk eqns -> ClosedTypeFamDecl (f l) dh mk eqns- DataDecl l dn mcx dh cds ders ->- DataDecl (f l) dn mcx dh cds ders- GDataDecl l dn mcx dh mk gds ders ->- GDataDecl (f l) dn mcx dh mk gds ders- DataFamDecl l mcx dh mk -> DataFamDecl (f l) mcx dh mk- TypeInsDecl l t1 t2 -> TypeInsDecl (f l) t1 t2- DataInsDecl l dn t cds ders -> DataInsDecl (f l) dn t cds ders- GDataInsDecl l dn t mk gds ders -> GDataInsDecl (f l) dn t mk gds ders- ClassDecl l mcx dh fds cds -> ClassDecl (f l) mcx dh fds cds- InstDecl l mo ih ids -> InstDecl (f l) mo ih ids- DerivDecl l mo ih -> DerivDecl (f l) mo ih- InfixDecl l a k ops -> InfixDecl (f l) a k ops- DefaultDecl l ts -> DefaultDecl (f l) ts- SpliceDecl l sp -> SpliceDecl (f l) sp- TypeSig l ns t -> TypeSig (f l) ns t- PatSynSig l n dh c1 c2 t -> PatSynSig (f l) n dh c1 c2 t- FunBind l ms -> FunBind (f l) ms- PatBind l p rhs bs -> PatBind (f l) p rhs bs- ForImp l cc msf s n t -> ForImp (f l) cc msf s n t- ForExp l cc s n t -> ForExp (f l) cc s n t- RulePragmaDecl l rs -> RulePragmaDecl (f l) rs- DeprPragmaDecl l nss -> DeprPragmaDecl (f l) nss- WarnPragmaDecl l nss -> WarnPragmaDecl (f l) nss- InlineSig l b act qn -> InlineSig (f l) b act qn- InlineConlikeSig l act qn -> InlineConlikeSig (f l) act qn- SpecSig l act qn ts -> SpecSig (f l) act qn ts- SpecInlineSig l b act qn ts -> SpecInlineSig (f l) b act qn ts- InstSig l ih -> InstSig (f l) ih- AnnPragma l ann' -> AnnPragma (f l) ann'- MinimalPragma l b -> MinimalPragma (f l) b- RoleAnnotDecl l t rs -> RoleAnnotDecl (f l) t rs- PatSyn l p r d -> PatSyn (f l) p r d--instance Annotated Role where- ann r = case r of- RoleWildcard l -> l- Representational l -> l- Phantom l -> l- Nominal l -> l- amap f r = case r of- RoleWildcard l -> RoleWildcard (f l)- Representational l -> Representational (f l)- Phantom l -> Phantom (f l)- Nominal l -> Nominal (f l)--instance Annotated Annotation where- ann (Ann l _ _) = l- ann (TypeAnn l _ _) = l- ann (ModuleAnn l _) = l- amap f (Ann l n e) = Ann (f l) n e- amap f (TypeAnn l n e) = TypeAnn (f l) n e- amap f (ModuleAnn l e) = ModuleAnn (f l) e--instance Annotated BooleanFormula where- ann (VarFormula l _) = l- ann (AndFormula l _) = l- ann (OrFormula l _) = l- ann (ParenFormula l _) = l- amap f (VarFormula l n) = VarFormula (f l) n- amap f (AndFormula l bs) = AndFormula (f l) bs- amap f (OrFormula l bs) = OrFormula (f l) bs- amap f (ParenFormula l b) = ParenFormula (f l) b--instance Annotated DataOrNew where- ann (DataType l) = l- ann (NewType l) = l- amap = fmap--instance Annotated DeclHead where- ann (DHead l _) = l- ann (DHInfix l _ _) = l- ann (DHParen l _) = l- ann (DHApp l _ _) = l- amap f (DHead l n) = DHead (f l) n- amap f (DHInfix l tva n) = DHInfix (f l) tva n- amap f (DHParen l dh) = DHParen (f l) dh- amap f (DHApp l dh t) = DHApp (f l) dh t--instance Annotated InstRule where- ann (IRule l _ _ _) = l- ann (IParen l _) = l- amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn- amap f (IParen l ih) = IParen (f l) ih--instance Annotated InstHead where- ann (IHCon l _) = l- ann (IHInfix l _ _) = l- ann (IHParen l _) = l- ann (IHApp l _ _) = l- amap f (IHCon l n) = IHCon (f l) n- amap f (IHInfix l tva n) = IHInfix (f l) tva n- amap f (IHParen l dh) = IHParen (f l) dh- amap f (IHApp l dh t) = IHApp (f l) dh t--instance Annotated Binds where- ann (BDecls l _) = l- ann (IPBinds l _) = l- amap f (BDecls l decls) = BDecls (f l) decls- amap f (IPBinds l ibs) = IPBinds (f l) ibs--instance Annotated IPBind where- ann (IPBind l _ _) = l- amap f (IPBind l ipn e) = IPBind (f l) ipn e--instance Annotated Match where- ann (Match l _ _ _ _) = l- ann (InfixMatch l _ _ _ _ _) = l- amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs- amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs--instance Annotated QualConDecl where- ann (QualConDecl l _ _ _) = l- amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd--instance Annotated ConDecl where- ann (ConDecl l _ _) = l- ann (InfixConDecl l _ _ _) = l- ann (RecDecl l _ _) = l- amap f (ConDecl l n bts) = ConDecl (f l) n bts- amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb- amap f (RecDecl l n fds) = RecDecl (f l) n fds--instance Annotated FieldDecl where- ann (FieldDecl l _ _) = l- amap f (FieldDecl l ns t) = FieldDecl (f l) ns t--instance Annotated GadtDecl where- ann (GadtDecl l _ _ _) = l- amap f (GadtDecl l n t1 t2) = GadtDecl (f l) n t1 t2--instance Annotated ClassDecl where- ann (ClsDecl l _) = l- ann (ClsDataFam l _ _ _) = l- ann (ClsTyFam l _ _) = l- ann (ClsTyDef l _ _) = l- ann (ClsDefSig l _ _) = l- amap f (ClsDecl l d) = ClsDecl (f l) d- amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk- amap f (ClsTyFam l dh mk) = ClsTyFam (f l) dh mk- amap f (ClsTyDef l t1 t2) = ClsTyDef (f l) t1 t2- amap f (ClsDefSig l n t) = ClsDefSig (f l) n t--instance Annotated InstDecl where- ann id = case id of- InsDecl l _ -> l- InsType l _ _ -> l- InsData l _ _ _ _ -> l- InsGData l _ _ _ _ _ -> l--- InsInline l _ _ _ -> l- amap f id = case id of- InsDecl l d -> InsDecl (f l) d- InsType l t1 t2 -> InsType (f l) t1 t2- InsData l dn t cds ders -> InsData (f l) dn t cds ders- InsGData l dn t mk gds ders -> InsGData (f l) dn t mk gds ders--- InsInline l b act qn -> InsInline (f l) b act qn--instance Annotated BangType where- ann (BangedTy l) = l- ann (UnpackedTy l) = l- amap f (BangedTy l) = BangedTy (f l)- amap f (UnpackedTy l) = UnpackedTy (f l)--instance Annotated Rhs where- ann (UnGuardedRhs l _) = l- ann (GuardedRhss l _) = l- amap f (UnGuardedRhs l e) = UnGuardedRhs (f l) e- amap f (GuardedRhss l grhss) = GuardedRhss (f l) grhss--instance Annotated GuardedRhs where- ann (GuardedRhs l _ _) = l- amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e--instance Annotated Type where- ann t = case t of- TyForall l _ _ _ -> l- TyFun l _ _ -> l- TyTuple l _ _ -> l- TyList l _ -> l- TyParArray l _ -> l- TyApp l _ _ -> l- TyVar l _ -> l- TyCon l _ -> l- TyParen l _ -> l- TyInfix l _ _ _ -> l- TyKind l _ _ -> l- TyPromoted l _ -> l- TyEquals l _ _ -> l- TySplice l _ -> l- TyBang l _ _ -> l- TyWildCard l _ -> l- amap f t1 = case t1 of- TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t- TyFun l t1' t2 -> TyFun (f l) t1' t2- TyTuple l b ts -> TyTuple (f l) b ts- TyList l t -> TyList (f l) t- TyParArray l t -> TyParArray (f l) t- TyApp l t1' t2 -> TyApp (f l) t1' t2- TyVar l n -> TyVar (f l) n- TyCon l qn -> TyCon (f l) qn- TyParen l t -> TyParen (f l) t- TyInfix l ta qn tb -> TyInfix (f l) ta qn tb- TyKind l t k -> TyKind (f l) t k- TyPromoted l p -> TyPromoted (f l) p- TyEquals l a b -> TyEquals (f l) a b- TySplice l s -> TySplice (f l) s- TyBang l b t -> TyBang (f l) b t- TyWildCard l n -> TyWildCard (f l) n--instance Annotated TyVarBind where- ann (KindedVar l _ _) = l- ann (UnkindedVar l _) = l- amap f (KindedVar l n k) = KindedVar (f l) n k- amap f (UnkindedVar l n) = UnkindedVar (f l) n--instance Annotated Kind where- ann (KindStar l) = l- ann (KindFn l _ _) = l- ann (KindParen l _) = l- ann (KindVar l _) = l- ann (KindApp l _ _) = l- ann (KindTuple l _) = l- ann (KindList l _) = l- amap f (KindStar l) = KindStar (f l)- amap f (KindFn l k1 k2) = KindFn (f l) k1 k2- amap f (KindParen l k) = KindParen (f l) k- amap f (KindVar l n) = KindVar (f l) n- amap f (KindApp l k1 k2) = KindApp (f l) k1 k2- amap f (KindTuple l ks) = KindTuple (f l) ks- amap f (KindList l ks) = KindList (f l) ks--instance Annotated FunDep where- ann (FunDep l _ _) = l- amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2--instance Annotated Context where- ann (CxSingle l _) = l- ann (CxTuple l _) = l- ann (CxEmpty l) = l- amap f (CxSingle l asst ) = CxSingle (f l) asst- amap f (CxTuple l assts) = CxTuple (f l) assts- amap f (CxEmpty l) = CxEmpty (f l)--instance Annotated Asst where- ann asst = case asst of- ClassA l _ _ -> l- AppA l _ _ -> l- InfixA l _ _ _ -> l- IParam l _ _ -> l- EqualP l _ _ -> l- ParenA l _ -> l- WildCardA l _ -> l- amap f asst = case asst of- ClassA l qn ts -> ClassA (f l) qn ts- AppA l n ns -> AppA (f l) n ns- InfixA l ta qn tb -> InfixA (f l) ta qn tb- IParam l ipn t -> IParam (f l) ipn t- EqualP l t1 t2 -> EqualP (f l) t1 t2- ParenA l a -> ParenA (f l) a- WildCardA l mn -> WildCardA (f l) mn--instance Annotated Literal where- ann lit = case lit of- Char l _ _ -> l- String l _ _ -> l- Int l _ _ -> l- Frac l _ _ -> l- PrimInt l _ _ -> l- PrimWord l _ _ -> l- PrimFloat l _ _ -> l- PrimDouble l _ _ -> l- PrimChar l _ _ -> l- PrimString l _ _ -> l- amap = fmap--instance Annotated Sign where- ann sg = case sg of- Signless l -> l- Negative l -> l- amap = fmap--instance Annotated Exp where- ann e = case e of- Var l _ -> l- IPVar l _ -> l- Con l _ -> l- Lit l _ -> l- InfixApp l _ _ _ -> l- App l _ _ -> l- NegApp l _ -> l- Lambda l _ _ -> l- Let l _ _ -> l- If l _ _ _ -> l- MultiIf l _ -> l- Case l _ _ -> l- Do l _ -> l- MDo l _ -> l- Tuple l _ _ -> l- TupleSection l _ _ -> l- List l _ -> l- ParArray l _ -> l- Paren l _ -> l- LeftSection l _ _ -> l- RightSection l _ _ -> l- RecConstr l _ _ -> l- RecUpdate l _ _ -> l- EnumFrom l _ -> l- EnumFromTo l _ _ -> l- EnumFromThen l _ _ -> l- EnumFromThenTo l _ _ _ -> l- ParArrayFromTo l _ _ -> l- ParArrayFromThenTo l _ _ _ -> l- ListComp l _ _ -> l- ParComp l _ _ -> l- ParArrayComp l _ _ -> l- ExpTypeSig l _ _ -> l- VarQuote l _ -> l- TypQuote l _ -> l- BracketExp l _ -> l- SpliceExp l _ -> l- QuasiQuote l _ _ -> l-- XTag l _ _ _ _ -> l- XETag l _ _ _ -> l- XPcdata l _ -> l- XExpTag l _ -> l- XChildTag l _ -> l-- CorePragma l _ _ -> l- SCCPragma l _ _ -> l- GenPragma l _ _ _ _ -> l-- Proc l _ _ -> l- LeftArrApp l _ _ -> l- RightArrApp l _ _ -> l- LeftArrHighApp l _ _ -> l- RightArrHighApp l _ _ -> l-- LCase l _ -> l- ExprHole l -> l-- amap f e1 = case e1 of- Var l qn -> Var (f l) qn- IPVar l ipn -> IPVar (f l) ipn- Con l qn -> Con (f l) qn- Lit l lit -> Lit (f l) lit- InfixApp l e1' qop e2 -> InfixApp (f l) e1' qop e2- App l e1' e2 -> App (f l) e1' e2- NegApp l e -> NegApp (f l) e- Lambda l ps e -> Lambda (f l) ps e- Let l bs e -> Let (f l) bs e- If l ec et ee -> If (f l) ec et ee- Case l e alts -> Case (f l) e alts- Do l ss -> Do (f l) ss- MDo l ss -> MDo (f l) ss- Tuple l bx es -> Tuple (f l) bx es- TupleSection l bx mes -> TupleSection (f l) bx mes- List l es -> List (f l) es- ParArray l es -> ParArray (f l) es- Paren l e -> Paren (f l) e- LeftSection l e qop -> LeftSection (f l) e qop- RightSection l qop e -> RightSection (f l) qop e- RecConstr l qn fups -> RecConstr (f l) qn fups- RecUpdate l e fups -> RecUpdate (f l) e fups- EnumFrom l e -> EnumFrom (f l) e- EnumFromTo l ef et -> EnumFromTo (f l) ef et- EnumFromThen l ef et -> EnumFromThen (f l) ef et- EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto- ParArrayFromTo l ef et -> ParArrayFromTo (f l) ef et- ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto- ListComp l e qss -> ListComp (f l) e qss- ParComp l e qsss -> ParComp (f l) e qsss- ParArrayComp l e qsss -> ParArrayComp (f l) e qsss- ExpTypeSig l e t -> ExpTypeSig (f l) e t- VarQuote l qn -> VarQuote (f l) qn- TypQuote l qn -> TypQuote (f l) qn- BracketExp l br -> BracketExp (f l) br- SpliceExp l sp -> SpliceExp (f l) sp- QuasiQuote l sn se -> QuasiQuote (f l) sn se-- XTag l xn xas me es -> XTag (f l) xn xas me es- XETag l xn xas me -> XETag (f l) xn xas me- XPcdata l s -> XPcdata (f l) s- XExpTag l e -> XExpTag (f l) e- XChildTag l es -> XChildTag (f l) es-- CorePragma l s e -> CorePragma (f l) s e- SCCPragma l s e -> SCCPragma (f l) s e- GenPragma l s n12 n34 e -> GenPragma (f l) s n12 n34 e-- Proc l p e -> Proc (f l) p e- LeftArrApp l e1' e2 -> LeftArrApp (f l) e1' e2- RightArrApp l e1' e2 -> RightArrApp (f l) e1' e2- LeftArrHighApp l e1' e2 -> LeftArrHighApp (f l) e1' e2- RightArrHighApp l e1' e2 -> RightArrHighApp (f l) e1' e2-- LCase l alts -> LCase (f l) alts- MultiIf l alts -> MultiIf (f l) alts- ExprHole l -> ExprHole (f l)---instance Annotated XName where- ann (XName l _) = l- ann (XDomName l _ _) = l- amap = fmap--instance Annotated XAttr where- ann (XAttr l _ _) = l- amap f (XAttr l xn e) = XAttr (f l) xn e--instance Annotated Bracket where- ann (ExpBracket l _) = l- ann (PatBracket l _) = l- ann (TypeBracket l _) = l- ann (DeclBracket l _) = l- amap f (ExpBracket l e) = ExpBracket (f l) e- amap f (PatBracket l p) = PatBracket (f l) p- amap f (TypeBracket l t) = TypeBracket (f l) t- amap f (DeclBracket l ds) = DeclBracket (f l) ds--instance Annotated Splice where- ann (IdSplice l _) = l- ann (ParenSplice l _) = l- amap f (IdSplice l s) = IdSplice (f l) s- amap f (ParenSplice l e) = ParenSplice (f l) e--instance Annotated Safety where- ann (PlayRisky l) = l- ann (PlaySafe l _) = l- ann (PlayInterruptible l) = l- amap = fmap--instance Annotated CallConv where- ann (StdCall l) = l- ann (CCall l) = l- ann (CPlusPlus l) = l- ann (DotNet l) = l- ann (Jvm l) = l- ann (Js l) = l- ann (JavaScript l) = l- ann (CApi l) = l- amap = fmap--instance Annotated ModulePragma where- ann (LanguagePragma l _) = l- ann (OptionsPragma l _ _) = l- ann (AnnModulePragma l _) = l- amap f (LanguagePragma l ns) = LanguagePragma (f l) ns- amap f (AnnModulePragma l a) = AnnModulePragma (f l) a- amap f p = fmap f p--instance Annotated Overlap where- ann (NoOverlap l) = l- ann (Overlap l) = l- ann (Incoherent l) = l- amap = fmap--instance Annotated Activation where- ann (ActiveFrom l _) = l- ann (ActiveUntil l _) = l- amap = fmap--instance Annotated Rule where- ann (Rule l _ _ _ _ _) = l- amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2--instance Annotated RuleVar where- ann (RuleVar l _) = l- ann (TypedRuleVar l _ _) = l- amap f (RuleVar l n) = RuleVar (f l) n- amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t--instance Annotated WarningText where- ann (DeprText l _) = l- ann (WarnText l _) = l- amap = fmap--instance Annotated Pat where- ann p = case p of- PVar l _ -> l- PLit l _ _ -> l- PNPlusK l _ _ -> l- PInfixApp l _ _ _ -> l- PApp l _ _ -> l- PTuple l _ _ -> l- PList l _ -> l- PParen l _ -> l- PRec l _ _ -> l- PAsPat l _ _ -> l- PWildCard l -> l- PIrrPat l _ -> l- PatTypeSig l _ _ -> l- PViewPat l _ _ -> l- PRPat l _ -> l- PXTag l _ _ _ _ -> l- PXETag l _ _ _ -> l- PXPcdata l _ -> l- PXPatTag l _ -> l- PXRPats l _ -> l- PQuasiQuote l _ _ -> l- PBangPat l _ -> l- amap f p1 = case p1 of- PVar l n -> PVar (f l) n- PLit l sg lit -> PLit (f l) sg lit- PNPlusK l n k -> PNPlusK (f l) n k- PInfixApp l pa qn pb -> PInfixApp (f l) pa qn pb- PApp l qn ps -> PApp (f l) qn ps- PTuple l bx ps -> PTuple (f l) bx ps- PList l ps -> PList (f l) ps- PParen l p -> PParen (f l) p- PRec l qn pfs -> PRec (f l) qn pfs- PAsPat l n p -> PAsPat (f l) n p- PWildCard l -> PWildCard (f l)- PIrrPat l p -> PIrrPat (f l) p- PatTypeSig l p t -> PatTypeSig (f l) p t- PViewPat l e p -> PViewPat (f l) e p- PRPat l rps -> PRPat (f l) rps- PXTag l xn pxas mp ps -> PXTag (f l) xn pxas mp ps- PXETag l xn pxas mp -> PXETag (f l) xn pxas mp- PXPcdata l s -> PXPcdata (f l) s- PXPatTag l p -> PXPatTag (f l) p- PXRPats l rps -> PXRPats (f l) rps- PQuasiQuote l sn st -> PQuasiQuote (f l) sn st- PBangPat l p -> PBangPat (f l) p--instance Annotated PXAttr where- ann (PXAttr l _ _) = l- amap f (PXAttr l xn p) = PXAttr (f l) xn p--instance Annotated RPatOp where- ann (RPStar l) = l- ann (RPStarG l) = l- ann (RPPlus l) = l- ann (RPPlusG l) = l- ann (RPOpt l) = l- ann (RPOptG l) = l- amap = fmap--instance Annotated RPat where- ann rp = case rp of- RPOp l _ _ -> l- RPEither l _ _ -> l- RPSeq l _ -> l- RPGuard l _ _ -> l- RPCAs l _ _ -> l- RPAs l _ _ -> l- RPParen l _ -> l- RPPat l _ -> l- amap f rp1 = case rp1 of- RPOp l rp rop -> RPOp (f l) rp rop- RPEither l rp1' rp2 -> RPEither (f l) rp1' rp2- RPSeq l rps -> RPSeq (f l) rps- RPGuard l p ss -> RPGuard (f l) p ss- RPCAs l n rp -> RPCAs (f l) n rp- RPAs l n rp -> RPAs (f l) n rp- RPParen l rp -> RPParen (f l) rp- RPPat l p -> RPPat (f l) p--instance Annotated PatField where- ann (PFieldPat l _ _) = l- ann (PFieldPun l _) = l- ann (PFieldWildcard l) = l- amap f (PFieldPat l qn p) = PFieldPat (f l) qn p- amap f (PFieldPun l n) = PFieldPun (f l) n- amap f (PFieldWildcard l) = PFieldWildcard (f l)--instance Annotated Stmt where- ann (Generator l _ _) = l- ann (Qualifier l _) = l- ann (LetStmt l _) = l- ann (RecStmt l _) = l- amap f (Generator l p e) = Generator (f l) p e- amap f (Qualifier l e) = Qualifier (f l) e- amap f (LetStmt l bs) = LetStmt (f l) bs- amap f (RecStmt l ss) = RecStmt (f l) ss--instance Annotated QualStmt where- ann (QualStmt l _) = l- ann (ThenTrans l _) = l- ann (ThenBy l _ _) = l- ann (GroupBy l _) = l- ann (GroupUsing l _) = l- ann (GroupByUsing l _ _) = l- amap f (QualStmt l s) = QualStmt (f l) s- amap f (ThenTrans l e) = ThenTrans (f l) e- amap f (ThenBy l e1 e2) = ThenBy (f l) e1 e2- amap f (GroupBy l e) = GroupBy (f l) e- amap f (GroupUsing l e) = GroupUsing (f l) e- amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2--instance Annotated FieldUpdate where- ann (FieldUpdate l _ _) = l- ann (FieldPun l _) = l- ann (FieldWildcard l) = l- amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e- amap f (FieldPun l n) = FieldPun (f l) n- amap f (FieldWildcard l) = FieldWildcard (f l)--instance Annotated Alt where- ann (Alt l _ _ _) = l- amap f (Alt l p gs bs) = Alt (f l) p gs bs--instance Annotated Promoted where- ann (PromotedInteger l _ _) = l- ann (PromotedString l _ _) = l- ann (PromotedCon l _ _) = l- ann (PromotedList l _ _) = l- ann (PromotedTuple l _) = l- ann (PromotedUnit l) = l- amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw- amap f (PromotedString l str raw) = PromotedString (f l) str raw- amap f (PromotedCon l b qn) = PromotedCon (f l) b qn- amap f (PromotedList l b ps) = PromotedList (f l) b ps- amap f (PromotedTuple l ps) = PromotedTuple (f l) ps- amap f (PromotedUnit l) = PromotedUnit (f l)
src/Language/Haskell/Exts/Build.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Build@@ -20,54 +22,54 @@ module Language.Haskell.Exts.Build ( -- * Syntax building functions- name, -- :: String -> Name- sym, -- :: String -> Name- var, -- :: Name -> Exp- op, -- :: Name -> QOp- qvar, -- :: Module -> Name -> Exp- pvar, -- :: Name -> Pat- app, -- :: Exp -> Exp -> Exp- infixApp, -- :: Exp -> QOp -> Exp -> Exp- appFun, -- :: Exp -> [Exp] -> Exp- pApp, -- :: Name -> [Pat] -> Pat- tuple, -- :: [Exp] -> Exp- pTuple, -- :: [Pat] -> Pat- varTuple, -- :: [Name] -> Exp- pvarTuple, -- :: [Name] -> Pat- function, -- :: String -> Exp- strE, -- :: String -> Exp- charE, -- :: Char -> Exp- intE, -- :: Integer -> Exp- strP, -- :: String -> Pat- charP, -- :: Char -> Pat- intP, -- :: Integer -> Pat- doE, -- :: [Stmt] -> Exp- lamE, -- :: SrcLoc -> [Pat] -> Exp -> Exp- letE, -- :: [Decl] -> Exp -> Exp- caseE, -- :: Exp -> [Alt] -> Exp- alt, -- :: SrcLoc -> Pat -> Exp -> Alt- altGW, -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt- listE, -- :: [Exp] -> Exp- eList, -- :: Exp- peList, -- :: Pat- paren, -- :: Exp -> Exp- pParen, -- :: Pat -> Pat- qualStmt, -- :: Exp -> Stmt- genStmt, -- :: SrcLoc -> Pat -> Exp -> Stmt+ name, -- :: String -> Name ()+ sym, -- :: String -> Name ()+ var, -- :: Name () -> Exp ()+ op, -- :: Name () -> QOp+ qvar, -- :: Module -> Name () -> Exp ()+ pvar, -- :: Name () -> Pat ()+ app, -- :: Exp () -> Exp () -> Exp ()+ infixApp, -- :: Exp () -> QOp -> Exp () -> Exp ()+ appFun, -- :: Exp () -> [Exp] -> Exp ()+ pApp, -- :: Name () -> [Pat] -> Pat ()+ tuple, -- :: [Exp] -> Exp ()+ pTuple, -- :: [Pat] -> Pat ()+ varTuple, -- :: [Name] -> Exp ()+ pvarTuple, -- :: [Name] -> Pat ()+ function, -- :: String -> Exp ()+ strE, -- :: String -> Exp ()+ charE, -- :: Char -> Exp ()+ intE, -- :: Integer -> Exp ()+ strP, -- :: String -> Pat ()+ charP, -- :: Char -> Pat ()+ intP, -- :: Integer -> Pat ()+ doE, -- :: [Stmt] -> Exp ()+ lamE, -- :: SrcLoc -> [Pat] -> Exp () -> Exp ()+ letE, -- :: [Decl] -> Exp () -> Exp ()+ caseE, -- :: Exp () -> [Alt] -> Exp ()+ alt, -- :: SrcLoc -> Pat () -> Exp () -> Alt+ altGW, -- :: SrcLoc -> Pat () -> [Stmt] -> Exp () -> Binds -> Alt+ listE, -- :: [Exp] -> Exp ()+ eList, -- :: Exp ()+ peList, -- :: Pat ()+ paren, -- :: Exp () -> Exp ()+ pParen, -- :: Pat () -> Pat ()+ qualStmt, -- :: Exp () -> Stmt+ genStmt, -- :: SrcLoc -> Pat () -> Exp () -> Stmt letStmt, -- :: [Decl] -> Stmt binds, -- :: [Decl] -> Binds noBinds, -- :: Binds- wildcard, -- :: Pat+ wildcard, -- :: Pat () genNames, -- :: String -> Int -> [Name] -- * More advanced building- sfun, -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl- simpleFun, -- :: SrcLoc -> Name -> Name -> Exp -> Decl- patBind, -- :: SrcLoc -> Pat -> Exp -> Decl- patBindWhere, -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl- nameBind, -- :: SrcLoc -> Name -> Exp -> Decl- metaFunction, -- :: String -> [Exp] -> Exp- metaConPat -- :: String -> [Pat] -> Pat+ sfun, -- :: SrcLoc -> Name () -> [Name] -> Rhs -> Binds -> Decl ()+ simpleFun, -- :: SrcLoc -> Name () -> Name () -> Exp () -> Decl ()+ patBind, -- :: SrcLoc -> Pat () -> Exp () -> Decl ()+ patBindWhere, -- :: SrcLoc -> Pat () -> Exp () -> [Decl] -> Decl ()+ nameBind, -- :: SrcLoc -> Name () -> Exp () -> Decl ()+ metaFunction, -- :: String -> [Exp] -> Exp ()+ metaConPat -- :: String -> [Pat] -> Pat () ) where import Language.Haskell.Exts.Syntax@@ -77,214 +79,216 @@ -- | An identifier with the given string as its name. -- The string should be a valid Haskell identifier.-name :: String -> Name-name = Ident+name :: String -> Name ()+name = Ident () -- | A symbol identifier. The string should be a valid -- Haskell symbol identifier.-sym :: String -> Name-sym = Symbol+sym :: String -> Name ()+sym = Symbol () -- | A local variable as expression.-var :: Name -> Exp-var = Var . UnQual+var :: Name () -> Exp ()+var = Var () . UnQual () -- | Use the given identifier as an operator.-op :: Name -> QOp-op = QVarOp . UnQual+op :: Name () -> QOp ()+op = QVarOp () . UnQual () -- | A qualified variable as expression.-qvar :: ModuleName -> Name -> Exp-qvar m n = Var $ Qual m n+qvar :: ModuleName () -> Name () -> Exp ()+qvar m n = Var () $ Qual () m n -- | A pattern variable.-pvar :: Name -> Pat-pvar = PVar+pvar :: Name () -> Pat ()+pvar = PVar () -- | Application of expressions by juxtaposition.-app :: Exp -> Exp -> Exp-app = App+app :: Exp () -> Exp () -> Exp ()+app = App () -- | Apply an operator infix.-infixApp :: Exp -> QOp -> Exp -> Exp-infixApp = InfixApp+infixApp :: Exp () -> QOp () -> Exp () -> Exp ()+infixApp = InfixApp () -- | Apply a function to a list of arguments.-appFun :: Exp -> [Exp] -> Exp+appFun :: Exp () -> [Exp ()] -> Exp () appFun f [] = f appFun f (a:as) = appFun (app f a) as -- | A constructor pattern, with argument patterns.-pApp :: Name -> [Pat] -> Pat-pApp n ps = PApp (UnQual n) ps+pApp :: Name () -> [Pat ()] -> Pat ()+pApp n ps = PApp () (UnQual () n) ps -- | A tuple expression.-tuple :: [Exp] -> Exp-tuple = Tuple Boxed+tuple :: [Exp ()] -> Exp ()+tuple = Tuple () Boxed -- | A tuple pattern.-pTuple :: [Pat] -> Pat-pTuple = PTuple Boxed+pTuple :: [Pat ()] -> Pat ()+pTuple = PTuple () Boxed -- | A tuple expression consisting of variables only.-varTuple :: [Name] -> Exp+varTuple :: [Name ()] -> Exp () varTuple ns = tuple $ map var ns -- | A tuple pattern consisting of variables only.-pvarTuple :: [Name] -> Pat+pvarTuple :: [Name ()] -> Pat () pvarTuple ns = pTuple $ map pvar ns -- | A function with a given name.-function :: String -> Exp-function = var . Ident+function :: String -> Exp ()+function = var . Ident () -- | A literal string expression.-strE :: String -> Exp-strE = Lit . String+strE :: String -> Exp ()+strE s = Lit () (String () s s) -- | A literal character expression.-charE :: Char -> Exp-charE = Lit . Char+charE :: Char -> Exp ()+charE c = Lit () (Char () c [c]) -- | A literal integer expression.-intE :: Integer -> Exp-intE = Lit . Int+intE :: Integer -> Exp ()+intE n = Lit () (Int () n (show n)) -- | A literal string pattern.-strP :: String -> Pat-strP = PLit Signless . String+strP :: String -> Pat ()+strP s = PLit () (Signless ()) (String () s s) -- | A literal character pattern.-charP :: Char -> Pat-charP = PLit Signless . Char+charP :: Char -> Pat ()+charP x = PLit () (Signless ()) (Char () x [x]) -- | A literal integer pattern.-intP :: Integer -> Pat-intP x = PLit (if x >= 0 then Signless else Negative) . Int . abs $ x+intP :: Integer -> Pat ()+intP x = PLit ()+ (if x >= 0 then Signless () else Negative ())+ (Int () (abs x) (show x)) -- | A do block formed by the given statements. -- The last statement in the list should be -- a 'Qualifier' expression.-doE :: [Stmt] -> Exp-doE = Do+doE :: [Stmt ()] -> Exp ()+doE = Do () -- | Lambda abstraction, given a list of argument -- patterns and an expression body.-lamE :: SrcLoc -> [Pat] -> Exp -> Exp-lamE = Lambda+lamE :: [Pat ()] -> Exp () -> Exp ()+lamE = Lambda () -- | A @let@ ... @in@ block.-letE :: [Decl] -> Exp -> Exp-letE ds e = Let (binds ds) e+letE :: [Decl ()] -> Exp () -> Exp ()+letE ds e = Let () (binds ds) e -- | A @case@ expression.-caseE :: Exp -> [Alt] -> Exp-caseE = Case+caseE :: Exp () -> [Alt ()] -> Exp ()+caseE = Case () -- | An unguarded alternative in a @case@ expression.-alt :: SrcLoc -> Pat -> Exp -> Alt-alt s p e = Alt s p (unGAlt e) noBinds+alt :: Pat () -> Exp () -> Alt ()+alt p e = Alt () p (unGAlt e) noBinds -- | An alternative with a single guard in a @case@ expression.-altGW :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt-altGW s p gs e w = Alt s p (gAlt s gs e) (Just w)+altGW :: Pat () -> [Stmt ()] -> Exp () -> Binds () -> Alt ()+altGW p gs e w = Alt () p (gAlt gs e) (Just w) -- | An unguarded righthand side of a @case@ alternative.-unGAlt :: Exp -> Rhs-unGAlt = UnGuardedRhs+unGAlt :: Exp () -> Rhs ()+unGAlt = UnGuardedRhs () -- | An list of guarded righthand sides for a @case@ alternative.-gAlts :: SrcLoc -> [([Stmt],Exp)] -> Rhs-gAlts s as = GuardedRhss $ map (\(gs,e) -> GuardedRhs s gs e) as+gAlts :: [([Stmt ()],Exp ())] -> Rhs ()+gAlts as = GuardedRhss () $ map (\(gs,e) -> GuardedRhs () gs e) as -- | A single guarded righthand side for a @case@ alternative.-gAlt :: SrcLoc -> [Stmt] -> Exp -> Rhs-gAlt s gs e = gAlts s [(gs,e)]+gAlt :: [Stmt ()] -> Exp () -> Rhs ()+gAlt gs e = gAlts [(gs,e)] -- | A list expression.-listE :: [Exp] -> Exp-listE = List+listE :: [Exp ()] -> Exp ()+listE = List () -- | The empty list expression.-eList :: Exp-eList = List []+eList :: Exp ()+eList = List () [] -- | The empty list pattern.-peList :: Pat-peList = PList []+peList :: Pat ()+peList = PList () [] -- | Put parentheses around an expression.-paren :: Exp -> Exp-paren = Paren+paren :: Exp () -> Exp ()+paren = Paren () -- | Put parentheses around a pattern.-pParen :: Pat -> Pat-pParen = PParen+pParen :: Pat () -> Pat ()+pParen = PParen () -- | A qualifier expression statement.-qualStmt :: Exp -> Stmt-qualStmt = Qualifier+qualStmt :: Exp () -> Stmt ()+qualStmt = Qualifier () -- | A generator statement: /pat/ @<-@ /exp/-genStmt :: SrcLoc -> Pat -> Exp -> Stmt-genStmt = Generator+genStmt :: Pat () -> Exp () -> Stmt ()+genStmt = Generator () -- | A @let@ binding group as a statement.-letStmt :: [Decl] -> Stmt-letStmt ds = LetStmt $ binds ds+letStmt :: [Decl ()] -> Stmt ()+letStmt ds = LetStmt () $ binds ds -- | Hoist a set of declarations to a binding group.-binds :: [Decl] -> Binds-binds = BDecls+binds :: [Decl ()] -> Binds ()+binds = BDecls () -- | An empty binding group.-noBinds :: Maybe Binds+noBinds :: Maybe (Binds ()) noBinds = Nothing -- | The wildcard pattern: @_@-wildcard :: Pat-wildcard = PWildCard+wildcard :: Pat ()+wildcard = PWildCard () -- | Generate k names by appending numbers 1 through k to a given string.-genNames :: String -> Int -> [Name]-genNames s k = [ Ident $ s ++ show i | i <- [1..k] ]+genNames :: String -> Int -> [Name ()]+genNames s k = [ Ident () $ s ++ show i | i <- [1..k] ] ------------------------------------------------------------------------------- -- Some more specialised help functions -- | A function with a single clause-sfun :: SrcLoc -> Name -> [Name] -> Rhs -> Maybe Binds -> Decl-sfun s f pvs rhs bs = FunBind [Match s f (map pvar pvs) Nothing rhs bs]+sfun :: Name () -> [Name ()] -> (Rhs ()) -> Maybe (Binds ()) -> Decl ()+sfun f pvs rhs bs = FunBind () [Match () f (map pvar pvs) rhs bs] -- | A function with a single clause, a single argument, no guards -- and no where declarations-simpleFun :: SrcLoc -> Name -> Name -> Exp -> Decl-simpleFun s f a e = let rhs = UnGuardedRhs e- in sfun s f [a] rhs noBinds+simpleFun :: Name () -> Name () -> Exp () -> Decl ()+simpleFun f a e = let rhs = UnGuardedRhs () e+ in sfun f [a] rhs noBinds -- | A pattern bind where the pattern is a variable, and where -- there are no guards and no 'where' clause.-patBind :: SrcLoc -> Pat -> Exp -> Decl-patBind s p e = let rhs = UnGuardedRhs e- in PatBind s p rhs noBinds+patBind :: Pat () -> Exp () -> Decl ()+patBind p e = let rhs = UnGuardedRhs () e+ in PatBind () p rhs noBinds -- | A pattern bind where the pattern is a variable, and where -- there are no guards, but with a 'where' clause.-patBindWhere :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl-patBindWhere s p e ds = let rhs = UnGuardedRhs e- in PatBind s p rhs (if null ds then Nothing else Just (binds ds))+patBindWhere :: Pat () -> Exp () -> [Decl ()] -> Decl ()+patBindWhere p e ds = let rhs = UnGuardedRhs () e+ in PatBind () p rhs (if null ds then Nothing else Just (binds ds)) -- | Bind an identifier to an expression.-nameBind :: SrcLoc -> Name -> Exp -> Decl-nameBind s n e = patBind s (pvar n) e+nameBind :: Name () -> Exp () -> Decl ()+nameBind n e = patBind (pvar n) e -- | Apply function of a given name to a list of arguments.-metaFunction :: String -> [Exp] -> Exp+metaFunction :: String -> [Exp ()] -> Exp () metaFunction s' es' = mf s' (reverse es') where mf s [] = var $ name s mf s (e:es) = app (mf s es) e -- | Apply a constructor of a given name to a list of pattern -- arguments, forming a constructor pattern.-metaConPat :: String -> [Pat] -> Pat+metaConPat :: String -> [Pat ()] -> Pat () metaConPat s ps = pApp (name s) ps
src/Language/Haskell/Exts/Comments.hs view
@@ -1,9 +1,54 @@-{-# LANGUAGE DeriveDataTypeable #-}-module Language.Haskell.Exts.Comments where+{-# LANGUAGE DeriveDataTypeable, Safe #-} +-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Comments+-- Copyright : (c) JP Moresmau 2015+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : experimental+-- Portability : portable+--+-- This module processes comments along with an annotated AST,+-- to be able to associate Haddock comments with the actual item+-- they refer to.+--+-- Example:+--+-- @+-- let+-- parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])+-- parse1Result =+-- parseFileContentsWithComments+-- (defaultParseMode { parseFilename = file })+-- contents+-- withC :: ParseResult (Module (SrcSpanInfo,[Comment]))+-- withC = case parse1Result of+-- ParseOk res -> ParseOk $ associateHaddock res+-- ParseFailed sloc msg -> ParseFailed sloc msg+-- @+--+-- In this code sample, parse1Result is what you get when you parse a file:+-- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments+-- After passing the result to 'associateHaddock', you get a 'Module'+-- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the+-- specific AST node.+--+-----------------------------------------------------------------------------+module Language.Haskell.Exts.Comments+ ( associateHaddock+ , Comment(..), UnknownPragma(..)+ ) where++import Language.Haskell.Exts.Syntax import Language.Haskell.Exts.SrcLoc++import Data.Char (isSpace)+import Data.Traversable import Data.Data + -- | A Haskell comment. The 'Bool' is 'True' if the comment is multi-line, i.e. @{- -}@. data Comment = Comment Bool SrcSpan String deriving (Eq,Show,Typeable,Data)@@ -11,3 +56,134 @@ -- | An unknown pragma. data UnknownPragma = UnknownPragma SrcSpan String deriving (Eq,Show,Typeable,Data)+++-- | Associates an AST with Source Span Information+-- with relevant Haddock comments+associateHaddock+ ::(Annotated ast,Traversable ast)+ => (ast SrcSpanInfo,[Comment])+ -> ast (SrcSpanInfo,[Comment])+associateHaddock (ast,[]) = fmap (\src->(src,[])) ast+associateHaddock (ast,comments) =+ let+ (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast+ in snd $ mapAccumL merge (lastPost ca) assocs1+++-- | Merge existing association with post comment associations+merge+ :: [(SrcSpanInfo,[Comment])]+ -> (SrcSpanInfo,[Comment])+ -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))+merge [] ret = ([],ret)+merge (x:xs) (src,cmts) =+ if fst x == src+ then (xs,(src,cmts ++ snd x))+ else (x:xs,(src,cmts))+++-- | Ensure that if file ends with comment we process it+lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]+lastPost (CommentAccumulator (Post cmt : rest) past assocs) =+ let (toMerge, _) = span isNone rest+ psrc = matchPreviousSrc past+ in (assocs ++ [(psrc, cmt : map hcComment toMerge)])+lastPost (CommentAccumulator _ _ assocs) = assocs+++-- | Accumulate comments mappings, either directly with the source+-- or in another association list for later processing+associate1+ :: CommentAccumulator+ -> SrcSpanInfo+ -> (CommentAccumulator,(SrcSpanInfo,[Comment]))+associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))+associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =+ if isBefore hc src+ then+ let (toMerge,next) = getToMerge src rest+ newAssoc = (src,cmt : map hcComment toMerge)+ in (CommentAccumulator next [] assocs,newAssoc)+ else (CommentAccumulator (hc:rest) [] assocs,(src,[]))+associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =+ if isBefore hc src+ then+ let (toMerge,next) = getToMerge src rest+ newAssocs =+ if null past+ then assocs+ else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]+ in associate1 (CommentAccumulator next [] newAssocs) src+ else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))+associate1 (CommentAccumulator (_:rest) past assocs) src =+ (CommentAccumulator rest (src:past) assocs,(src,[]))+++-- | The comment accumulator+data CommentAccumulator = CommentAccumulator+ [HaddockComment] -- The Haddock comments to process+ [SrcSpanInfo] -- The past src infos to resolve post comments+ [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments+++-- | Create a new accumulator+newAccumulator :: [Comment] -> CommentAccumulator+newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []++-- | Get comments to merge+getToMerge+ :: SrcSpanInfo -- ^ Stop before src+ -> [HaddockComment] -- ^ All remaining comments+ -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs+getToMerge src = span (\hc-> isNone hc && isBefore hc src)+++-- | Get the biggest src that ends where the first one does+matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo+matchPreviousSrc [] =+ error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"+matchPreviousSrc srcs =+ let end = srcSpanEnd $ srcInfoSpan $ head srcs+ in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs++-- | Is a Haddock comment before a given location+isBefore :: HaddockComment -> SrcSpanInfo -> Bool+isBefore hc src=+ let+ (Comment _ csrc _) = hcComment hc+ in csrc < srcInfoSpan src++-- | Represents a Haddock Comment+data HaddockComment =+ -- | Comment before declaration+ Pre+ {+ hcComment::Comment+ }+ -- | Comment after declaration+ | Post {+ hcComment::Comment+ }+ -- | Non Haddock comment+ | None {+ hcComment::Comment+ }++-- | Is a comment not haddock?+isNone :: HaddockComment -> Bool+isNone (None _) = True+isNone _ = False+++-- | Comments to Haddock Comments+commentsToHaddock :: [Comment] -> [HaddockComment]+commentsToHaddock = map commentToHaddock++-- | Comment to Haddock Comment+commentToHaddock :: Comment -> HaddockComment+commentToHaddock c@(Comment _ _ txt) =+ case dropWhile isSpace txt of+ ('|':_) -> Pre c+ ('^':_) -> Post c+ _ -> None c
+ src/Language/Haskell/Exts/ExactPrint.hs view
@@ -0,0 +1,2219 @@+{-# LANGUAGE CPP, DeriveFunctor, Safe #-}++-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Annotated.ExactPrint+-- Copyright : (c) Niklas Broberg 2009+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : stable+-- Portability : portable+--+-- Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)+-- abstract syntax tree, annotated with exact source information to enable+-- printing the tree exactly as it was parsed.+--+-----------------------------------------------------------------------------+module Language.Haskell.Exts.ExactPrint+ ( exactPrint+ , ExactP+ ) where++import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.SrcLoc+import Language.Haskell.Exts.Comments++import Control.Monad (when, liftM, ap, unless)+import qualified Control.Monad.Fail as Fail+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative (Applicative(..))+#endif+import Control.Arrow ((***), (&&&))+import Prelude hiding (exp)+import Data.List (intersperse)++------------------------------------------------------+-- The EP monad and basic combinators++type Pos = (Int,Int)++pos :: (SrcInfo loc) => loc -> Pos+pos ss = (startLine ss, startColumn ss)++newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))++instance Functor EP where+ fmap = liftM++instance Applicative EP where+ pure x = EP $ \l cs -> (x, l, cs, id)+ (<*>) = ap++instance Monad EP where++ EP m >>= k = EP $ \l0 c0 -> let+ (a, l1, c1, s1) = m l0 c0+ EP f = k a+ (b, l2, c2, s2) = f l1 c1+ in (b, l2, c2, s1 . s2)++instance Fail.MonadFail EP where+ fail = error++runEP :: EP () -> [Comment] -> String+runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""++getPos :: EP Pos+getPos = EP (\l cs -> (l,l,cs,id))++setPos :: Pos -> EP ()+setPos l = EP (\_ cs -> ((),l,cs,id))++printString :: String -> EP ()+printString str =+ EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str+ go (cl, _) '\n' = (cl + 1, 1)+ go (cl, cc) _ = (cl, cc + 1)+ in ((), (l', c'), cs, showString str))+++getComment :: EP (Maybe Comment)+getComment = EP $ \l cs ->+ let x = case cs of+ c:_ -> Just c+ _ -> Nothing+ in (x, l, cs, id)++dropComment :: EP ()+dropComment = EP $ \l cs ->+ let cs' = case cs of+ (_:cs1) -> cs1+ _ -> cs+ in ((), l, cs', id)++newLine :: EP ()+newLine = do+ (l,_) <- getPos+ printString "\n"+ setPos (l+1,1)++padUntil :: Pos -> EP ()+padUntil (l,c) = do+ (l1,c1) <- getPos+ case {- trace (show ((l,c), (l1,c1))) -} () of+ _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '+ | l1 < l -> newLine >> padUntil (l,c)+ | otherwise -> return ()+++mPrintComments :: Pos -> EP ()+mPrintComments p = do+ mc <- getComment+ case mc of+ Nothing -> return ()+ Just (Comment multi s str) ->+ when (pos s < p) $ do+ dropComment+ padUntil (pos s)+ printComment multi str+ setPos (srcSpanEndLine s, srcSpanEndColumn s)+ mPrintComments p++printComment :: Bool -> String -> EP ()+printComment b str+ | b = printString $ "{-" ++ str ++ "-}"+ | otherwise = printString $ "--" ++ str++printWhitespace :: Pos -> EP ()+printWhitespace p = mPrintComments p >> padUntil p++printStringAt :: Pos -> String -> EP ()+printStringAt p str = printWhitespace p >> printString str++errorEP :: String -> EP a+errorEP = fail++------------------------------------------------------------------------------+-- Printing of source elements++-- | Print an AST exactly as specified by the annotations on the nodes in the tree.+exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String+exactPrint ast = runEP (exactPC ast)++exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()+exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast++printSeq :: [(Pos, EP ())] -> EP ()+printSeq [] = return ()+printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs++printStrs :: SrcInfo loc => [(loc, String)] -> EP ()+printStrs = printSeq . map (pos *** printString)++printPoints :: SrcSpanInfo -> [String] -> EP ()+printPoints l = printStrs . zip (srcInfoPoints l)++printInterleaved, printInterleaved' :: (ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()+printInterleaved sistrs asts = printSeq $+ interleave (map (pos *** printString ) sistrs)+ (map (pos . ann &&& exactP) asts)++printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts+printInterleaved' _ _ = internalError "printInterleaved'"++printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()+printStreams [] ys = printSeq ys+printStreams xs [] = printSeq xs+printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)+ | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)+ | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys+++interleave :: [a] -> [a] -> [a]+interleave [] ys = ys+interleave xs [] = xs+interleave (x:xs) (y:ys) = x:y: interleave xs ys++maybeEP :: (a -> EP ()) -> Maybe a -> EP ()+maybeEP = maybe (return ())++bracketList :: (ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts++pList :: [a] -> (b, b, b) -> [(a, b)]+pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)+pList _ _ = internalError "pList"+pList' :: [a] -> (b, b) -> [(a, b)]+pList' [] _ = []+pList' [p] (_,c) = [(p,c)]+pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)++parenList, squareList, squareColonList, curlyList, parenHashList,+ unboxedSumTypeList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+parenList = bracketList ("(",",",")")+squareList = bracketList ("[",",","]")+squareColonList = bracketList ("[:",",",":]")+curlyList = bracketList ("{",",","}")+parenHashList = bracketList ("(#",",","#)")+unboxedSumTypeList = bracketList ("(#", "|", "#)")++layoutList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()+layoutList poss asts = printStreams+ (map (pos *** printString) $ lList poss)+ (map (pos . ann &&& exactP) asts)++lList :: [SrcSpan] -> [(SrcSpan, String)]+lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps+lList _ = internalError "lList"+lList' :: [SrcSpan] -> [(SrcSpan, String)]+lList' [] = []+lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]+lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps++printSemi :: SrcSpan -> EP ()+printSemi p = do+ printWhitespace (pos p)+ unless (isNullSpan p) $ printString ";"+++--------------------------------------------------+-- Exact printing++class Annotated ast => ExactP ast where+ exactP :: ast SrcSpanInfo -> EP ()++instance ExactP Literal where+ exactP lit = case lit of+ Char _ _ rw -> printString ('\'':rw ++ "\'")+ String _ _ rw -> printString ('\"':rw ++ "\"")+ Int _ _ rw -> printString rw+ Frac _ _ rw -> printString rw+ PrimInt _ _ rw -> printString (rw ++ "#" )+ PrimWord _ _ rw -> printString (rw ++ "##")+ PrimFloat _ _ rw -> printString (rw ++ "#" )+ PrimDouble _ _ rw -> printString (rw ++ "##")+ PrimChar _ _ rw -> printString ('\'':rw ++ "\'#" )+ PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )++instance ExactP Sign where+ exactP sg = case sg of+ Signless _ -> return ()+ Negative l -> printStringAt (pos l) "-"++instance ExactP ModuleName where+ exactP (ModuleName _ str) = printString str++instance ExactP SpecialCon where+ exactP sc = case sc of+ UnitCon l -> printPoints l ["(",")"]+ ListCon l -> printPoints l ["[","]"]+ FunCon l -> case srcInfoPoints l of+ [_,b,_] -> printStringAt (pos b) "->"+ _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"+ TupleCon l b n -> printPoints l $+ case b of+ Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]+ _ -> "(" : replicate (n-1) "," ++ [")"]+ Cons _ -> printString ":"+ UnboxedSingleCon l -> printPoints l ["(#","#)"]+ ExprHole l -> printStringAt (pos l) "_"++isSymbolName :: Name l -> Bool+isSymbolName (Symbol _ _) = True+isSymbolName _ = False++isSymbolQName :: QName l -> Bool+isSymbolQName (UnQual _ n) = isSymbolName n+isSymbolQName (Qual _ _ n) = isSymbolName n+isSymbolQName (Special _ Cons{}) = True+isSymbolQName (Special _ FunCon{}) = True+isSymbolQName _ = False++instance ExactP QName where+ exactP qn+ | isSymbolQName qn =+ case srcInfoPoints (ann qn) of+ [_,b,c] -> do+ printString "("+ printWhitespace (pos b)+ epQName qn+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"+ | otherwise = epQName qn++epQName :: QName SrcSpanInfo -> EP ()+epQName qn = case qn of+ Qual _ mn n -> exactP mn >> printString "." >> exactP n+ UnQual _ n -> exactP n+ Special _ sc -> exactP sc++epInfixQName :: QName SrcSpanInfo -> EP ()+epInfixQName qn+ | isSymbolQName qn = printWhitespace (pos (ann qn)) >> epQName qn+ | otherwise =+ case srcInfoPoints (ann qn) of+ [a,b,c] -> do+ printStringAt (pos a) "`"+ printWhitespace (pos b)+ epQName qn+ printStringAt (pos c) "`"+ _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"++instance ExactP Name where+ exactP n = case n of+ Ident _ str -> printString str+ Symbol l str ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ printWhitespace (pos b)+ printString str+ printStringAt (pos c) ")"+ [] -> printString str+ _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"++epInfixName :: Name SrcSpanInfo -> EP ()+epInfixName n+ | isSymbolName n = printWhitespace (pos (ann n)) >> exactP n+ | otherwise =+ case srcInfoPoints (ann n) of+ [a,b,c] -> do+ printStringAt (pos a) "`"+ printWhitespace (pos b)+ exactP n+ printStringAt (pos c) "`"+ _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"++instance ExactP IPName where+ exactP ipn = case ipn of+ IPDup _ str -> printString $ '?':str+ IPLin _ str -> printString $ '%':str++instance ExactP QOp where+ exactP qop = case qop of+ QVarOp _ qn -> epInfixQName qn+ QConOp _ qn -> epInfixQName qn++instance ExactP Op where+ exactP op = case op of+ VarOp _ n -> epInfixName n+ ConOp _ n -> epInfixName n++++instance ExactP CName where+ exactP cn = case cn of+ VarName _ n -> exactP n+ ConName _ n -> exactP n++instance ExactP Namespace where+ exactP ns = case ns of+ NoNamespace _ -> return ()+ TypeNamespace l -> printStringAt (pos l) "type"+ PatternNamespace l -> printStringAt (pos l) "pattern"++instance ExactP ExportSpec where+ exactP espec = case espec of+ EVar _ qn -> exactPC qn+ EAbs _ ns qn -> exactP ns >> exactPC qn+ EThingWith l wc qn cns ->+ let names = case wc of+ NoWildcard {} -> cns+ EWildcard wcl n ->+ let (before,after) = splitAt n cns+ wildcardName = VarName wcl (Ident wcl "..")+ in before ++ [wildcardName] ++ after+ k = length (srcInfoPoints l)+ in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) names+ EModuleContents _ mn -> printString "module" >> exactPC mn++instance ExactP ExportSpecList where+ exactP (ExportSpecList l ess) =+ let k = length (srcInfoPoints l)+ in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess++instance ExactP ImportSpecList where+ exactP (ImportSpecList l hid ispecs) = do+ let pts = srcInfoPoints l+ pts1 <- if hid then do+ let (x:pts') = pts+ printStringAt (pos x) "hiding"+ return pts'+ else return pts+ let k = length pts1+ printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs++instance ExactP ImportSpec where+ exactP ispec = case ispec of+ IVar _ qn -> exactPC qn+ IAbs _ ns n -> exactP ns >> exactPC n+ IThingAll l n -> exactP n >> printPoints l ["(","..",")"]+ IThingWith l n cns ->+ let k = length (srcInfoPoints l)+ in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns++instance ExactP ImportDecl where+ exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do+ printString "import"+ case srcInfoPoints l of+ (_:pts) -> do+ pts1 <- if src then+ case pts of+ x:y:pts' -> do+ printStringAt (pos x) "{-# SOURCE"+ printStringAt (pos y) "#-}"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts+ pts2 <- if safe then+ case pts1 of+ x:pts' -> do+ printStringAt (pos x) "safe"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts1++ -- Try to determine if qualified is post-positioned only if we have enough points+ let isPostQual = (qf && not (null pts2)) && safeIsPostQualified pts2++ pts3 <- if qf && not isPostQual then+ case pts2 of+ x:pts' -> do+ printStringAt (pos x) "qualified"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts2++ pts4 <- case mpkg of+ Just pkg ->+ case pts3 of+ x:pts' -> do+ printStringAt (pos x) $ show pkg+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ _ -> return pts3++ exactPC mn++ -- Only try post-qualified if we determined it's actually post-qualified+ pts5 <- if qf && isPostQual then+ case pts4 of+ x:pts' -> do+ printStringAt (pos x) "qualified"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts4++ _ <- case mas of+ Just as ->+ case pts5 of+ x:pts' -> do+ printStringAt (pos x) "as"+ exactPC as+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ _ -> return pts5++ case mispecs of+ Nothing -> return ()+ Just ispecs -> exactPC ispecs+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ where safeIsPostQualified pts =+ case pts of+ (p:_) ->+ let modSpan = srcInfoSpan (ann mn)+ -- Only consider it post-qualified if we have valid spans to compare+ in ((isValidSpan modSpan && isValidSpan p) &&+ (srcSpanEnd modSpan <= srcSpanStart p))+ _ -> False+ where+ isValidSpan s =+ srcSpanStartLine s > 0 && srcSpanEndLine s > 0 &&+ srcSpanStartColumn s >= 0 && srcSpanEndColumn s >= 0++instance ExactP Module where+ exactP mdl = case mdl of+ Module l mmh oss ids decls -> do+ let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)+ layoutList oPts oss+ maybeEP exactPC mmh+ printStreams (map (pos *** printString) $ lList pts)+ (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))+ XmlPage l _mn oss xn attrs mat es -> do+ let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l+ case pPts of+ [a,b,c,d,e] -> do+ layoutList oPts oss+ printStringAt (pos a) "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"+ XmlHybrid l mmh oss ids decls xn attrs mat es -> do+ let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)+ layoutList oPts oss+ maybeEP exactPC mmh+ let (dPts, pPts) = splitAt (length pts - 5) pts+ case pPts of+ [a,b,c,d,e] -> do+ printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)+ (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))++ printStringAt (pos a) "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"++instance ExactP ModuleHead where+ exactP (ModuleHead l mn mwt mess) =+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "module"+ exactPC mn+ maybeEP exactPC mwt+ maybeEP exactPC mess+ printStringAt (pos b) "where"+ _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"++instance ExactP ModulePragma where+ exactP op = case op of+ LanguagePragma l ns ->+ let pts = srcInfoPoints l+ k = length ns - 1 -- number of commas+ m = length pts - k - 2 -- number of virtual semis, likely 0+ in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns+ OptionsPragma l mt str ->+ let k = length (srcInfoPoints l)+ -- We strip out a leading space in the lexer unless the pragma+ -- starts with a newline.+ addSpace xs@('\n':_) = xs+ addSpace xs = ' ':xs+ opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str+ in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]+ AnnModulePragma l ann' ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# ANN"+ exactPC ann'+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"++instance ExactP WarningText where+ exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]+ exactP (WarnText l str) = printPoints l ["{-# WARNING", str, "#-}"]++instance ExactP Assoc where+ exactP a = case a of+ AssocNone _ -> printString "infix"+ AssocLeft _ -> printString "infixl"+ AssocRight _ -> printString "infixr"++instance ExactP DataOrNew where+ exactP (DataType _) = printString "data"+ exactP (NewType _) = printString "newtype"++instance ExactP TypeEqn where+ exactP (TypeEqn l t1 t2) =+ case srcInfoPoints l of+ [a] -> do+ exactPC t1+ printStringAt (pos a) "="+ exactPC t2+ _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"++instance ExactP InjectivityInfo where+ exactP (InjectivityInfo l to from) =+ case srcInfoPoints l of+ a:b:_ -> do+ printStringAt (pos a) "|"+ exactPC to+ printStringAt (pos b) "->"+ mapM_ exactPC from+ _ -> errorEP "ExactP: InjectivityInfo given wrong number of srcInfoPoints"++instance ExactP ResultSig where+ exactP (KindSig l k) =+ case srcInfoPoints l of+ a:_ -> do+ printStringAt (pos a) "::"+ exactPC k+ _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"+ exactP (TyVarSig l tv) =+ case srcInfoPoints l of+ a:_ -> do+ printStringAt (pos a) "="+ exactPC tv+ _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"+++instance ExactP Decl where+ exactP decl = case decl of+ TypeDecl l dh t ->+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "type"+ exactPC dh+ printStringAt (pos b) "="+ exactPC t+ _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"+ TypeFamDecl l dh mk mi ->+ case srcInfoPoints l of+ a:b:_ -> do+ printStringAt (pos a) "type"+ printStringAt (pos b) "family"+ exactPC dh+ maybeEP exactPC mk+ maybeEP exactPC mi+ _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"+ ClosedTypeFamDecl l dh mk mi eqns ->+ case srcInfoPoints l of+ a:b:c:_ -> do+ printStringAt (pos a) "type"+ printStringAt (pos b) "family"+ exactPC dh+ maybeEP exactPC mk+ maybeEP exactPC mi+ printStringAt (pos c) "where"+ mapM_ exactP eqns+ _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"+ DataDecl l dn mctxt dh constrs mder -> do+ exactP dn+ maybeEP exactPC mctxt+ exactPC dh+ -- the next line works for empty data types since the srcInfoPoints will be empty then+ printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs+ mapM_ exactPC mder+ GDataDecl l dn mctxt dh mk gds mder -> do+ let pts = srcInfoPoints l+ exactP dn+ maybeEP exactPC mctxt+ exactPC dh+ pts1 <- case mk of+ Nothing -> return pts+ Just kd -> case pts of+ p:pts' -> do+ printStringAt (pos p) "::"+ exactPC kd+ return pts'+ _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"+ case pts1 of+ x:pts' -> do+ printStringAt (pos x) "where"+ layoutList pts' gds+ mapM_ exactPC mder+ _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"+ DataFamDecl l mctxt dh mk -> do+ printString "data"+ maybeEP exactPC mctxt+ exactPC dh+ maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk+ TypeInsDecl l t1 t2 ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "type"+ printStringAt (pos b) "instance"+ exactPC t1+ printStringAt (pos c) "="+ exactPC t2+ _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"+ DataInsDecl l dn t constrs mder ->+ case srcInfoPoints l of+ p:pts -> do+ exactP dn+ printStringAt (pos p) "instance"+ exactPC t+ printInterleaved (zip pts ("=": repeat "|")) constrs+ mapM_ exactPC mder+ _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"+ GDataInsDecl l dn t mk gds mder ->+ case srcInfoPoints l of+ p:pts -> do+ exactP dn+ printStringAt (pos p) "instance"+ exactPC t+ pts1 <- case mk of+ Nothing -> return pts+ Just kd -> case pts of+ p':pts' -> do+ printStringAt (pos p') "::"+ exactPC kd+ return pts'+ _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+ case pts1 of+ x:pts' -> do+ printStringAt (pos x) "where"+ layoutList pts' gds+ mapM_ exactPC mder+ _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"+ ClassDecl l mctxt dh fds mcds ->+ case srcInfoPoints l of+ _:pts -> do+ printString "class"+ maybeEP exactPC mctxt+ exactPC dh+ _ <- case fds of+ [] -> return pts+ _ -> do+ let (pts1, pts2) = splitAt (length fds) pts+ printInterleaved (zip pts1 ("|":repeat ",")) fds+ return pts2+ maybeEP (\cds ->+ case pts of+ p:pts' -> do+ printStringAt (pos p) "where"+ layoutList pts' $ sepClassFunBinds cds+ _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"+ ) mcds+ _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"+ InstDecl l movlp ih mids ->+ case srcInfoPoints l of+ _:pts -> do+ printString "instance"+ maybeEP exactPC movlp+ exactPC ih+ maybeEP (\ids -> do+ let (p:pts') = pts+ printStringAt (pos p) "where"+ layoutList pts' $ sepInstFunBinds ids+ ) mids+ _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"+ DerivDecl l mds movlp ih ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "deriving"+ maybeEP exactPC mds+ printStringAt (pos b) "instance"+ maybeEP exactPC movlp+ exactPC ih+ _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"+ InfixDecl l assoc mprec ops -> do+ let pts = srcInfoPoints l+ exactP assoc+ pts1 <- case mprec of+ Nothing -> return pts+ Just prec ->+ case pts of+ p:pts' -> do+ printStringAt (pos p) (show prec)+ return pts'+ _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"+ printInterleaved' (zip pts1 (repeat ",")) ops+ DefaultDecl l ts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "default"+ printInterleaved (zip (init pts) ("(":repeat ",")) ts+ printStringAt (pos (last pts)) ")"+ _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"+ SpliceDecl _ spl -> exactP spl+ TSpliceDecl _ spl -> exactP spl+ TypeSig l ns t -> do+ let pts = srcInfoPoints l+ printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns+ exactPC t+ PatSynSig l ns dh c1 _ c2 t -> do+ let (pat:pts) = srcInfoPoints l+ printStringAt (pos pat) "pattern"+ printInterleaved' (zip pts (replicate (length ns - 1) "," ++ ["::"])) ns+ case dh of+ Nothing -> return ()+ Just tvs ->+ -- (length ns - 1) commas + 1 for "::"+ case drop (length ns) pts of+ (a:b:_) -> do+ printStringAt (pos a) "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ _ -> errorEP ("ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints" ++ show pts ++ show (drop (length ns + 1) pts))+ maybeEP exactPC c1+ maybeEP exactPC c2+ exactPC t+ FunBind _ ms -> mapM_ exactPC ms+ PatBind l p rhs mbs -> do+ let pts = srcInfoPoints l+ exactP p+ exactPC rhs+ maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs+ PatSyn l lhs rhs dir ->+ case srcInfoPoints l of+ [pat,sepPos] -> do+ let sep = case dir of+ ImplicitBidirectional -> "="+ ExplicitBidirectional _ _ -> "<-"+ Unidirectional -> "<-"+ printStringAt (pos pat) "pattern"+ exactPC lhs+ printStringAt (pos sepPos) sep+ exactPC rhs+ case dir of+ ExplicitBidirectional bl ds -> do+ case srcInfoPoints bl of+ (w:pts) -> do+ printStringAt (pos w) "where"+ layoutList pts ds+ _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"+ _ -> return ()+ _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"+ ForImp l cc msf mstr n t ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "foreign"+ printStringAt (pos b) "import"+ exactPC cc+ maybeEP exactPC msf+ pts1 <- case mstr of+ Nothing -> return pts+ Just str -> case pts of+ x:pts' -> do+ printStringAt (pos x) (show str)+ return pts'+ _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+ case pts1 of+ y:_ -> do+ exactPC n+ printStringAt (pos y) "::"+ exactPC t+ _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"+ ForExp l cc mstr n t ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "foreign"+ printStringAt (pos b) "export"+ exactPC cc+ pts1 <- case mstr of+ Nothing -> return pts+ Just str -> case pts of+ x:pts' -> do+ printStringAt (pos x) (show str)+ return pts'+ _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+ case pts1 of+ y:_ -> do+ exactPC n+ printStringAt (pos y) "::"+ exactPC t+ _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"+ RulePragmaDecl l rs ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# RULES"+ mapM_ exactPC rs+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"+ DeprPragmaDecl l nstrs ->+ case srcInfoPoints l of+ _:pts -> do+ printString "{-# DEPRECATED"+ printWarndeprs (map pos (init pts)) nstrs+ printStringAt (pos (last pts)) "#-}"+ _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"+ WarnPragmaDecl l nstrs ->+ case srcInfoPoints l of+ _:pts -> do+ printString "{-# WARNING"+ printWarndeprs (map pos (init pts)) nstrs+ printStringAt (pos (last pts)) "#-}"+ _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"+ InlineSig l inl mact qn ->+ case srcInfoPoints l of+ [_,b] -> do+ printString $ if inl then "{-# INLINE" else "{-# NOINLINE"+ maybeEP exactPC mact+ exactPC qn+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"+ InlineConlikeSig l mact qn ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# INLINE CONLIKE"+ maybeEP exactPC mact+ exactPC qn+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"+ SpecSig l mact qn ts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "{-# SPECIALISE"+ maybeEP exactPC mact+ exactPC qn+ printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts+ _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"+ SpecInlineSig l b mact qn ts ->+ case srcInfoPoints l of+ _:pts -> do+ printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"+ maybeEP exactPC mact+ exactPC qn+ printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts+ _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"+ InstSig l ih ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "{-# SPECIALISE"+ printStringAt (pos b) "instance"+ exactPC ih+ printStringAt (pos c) "#-}"+ _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"+ AnnPragma l ann' ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "{-# ANN"+ exactPC ann'+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"+ MinimalPragma l b ->+ case srcInfoPoints l of+ [_,b'] -> do+ printString "{-# MINIMAL"+ maybeEP exactPC b+ printStringAt (pos b') "#-}"+ _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"+ RoleAnnotDecl l ty roles ->+ case srcInfoPoints l of+ (t:r:_) -> do+ printStringAt (pos t) "type"+ printStringAt (pos r) "role"+ exactPC ty+ mapM_ exactPC roles+ _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"+ CompletePragma l cls opt_ts ->+ case srcInfoPoints l of+ (t:rs) -> do+ let (cls_s, rs') = splitAt (length cls - 1) rs+ printStringAt (pos t)"{-# COMPLETE"+ printInterleaved' (zip cls_s (repeat ",")) cls+ case (rs', opt_ts) of+ ((opt_dcolon: end:_), Just tc) -> do+ printStringAt (pos opt_dcolon) "::"+ exactPC tc+ printStringAt (pos end) "#-}"+ ([end], Nothing) -> printStringAt (pos end) "#-}"+ _ -> errorEP "ExactP: Decl: CompletePragma is given wrong number of srcInfoPoints"+ _ -> errorEP "ExactP: Decl: CompletePragma is given wrong number of srcInfoPoints"+++instance ExactP Role where+ exactP r =+ case r of+ RoleWildcard l -> printStringAt (pos l) "_"+ Representational l -> printStringAt (pos l) "representational"+ Phantom l -> printStringAt (pos l) "phantom"+ Nominal l -> printStringAt (pos l) "nominal"+++instance ExactP Annotation where+ exactP ann' = case ann' of+ Ann _ n e -> do+ exactP n+ exactPC e+ TypeAnn _ n e -> do+ printString "type"+ exactPC n+ exactPC e+ ModuleAnn _ e -> do+ printString "module"+ exactPC e++instance ExactP BooleanFormula where+ exactP b' = case b' of+ VarFormula _ n -> exactPC n+ AndFormula l bs ->+ let pts = srcInfoPoints l+ in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)+ OrFormula l bs ->+ let pts = srcInfoPoints l+ in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)+ ParenFormula l b ->+ case srcInfoPoints l of+ [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"+ _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"++printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()+printWarndeprs _ [] = return ()+printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'+ where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()+ printWd (p:ps) [] str nsts = printStringAt p (show str) >> printWarndeprs ps nsts+ printWd ps [n] str nsts = exactPC n >> printWd ps [] str nsts+ printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts+ printWd _ _ _ _ = internalError "printWd"+++sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]+sepFunBinds [] = []+sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds+sepFunBinds (d:ds) = d : sepFunBinds ds++sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]+sepClassFunBinds [] = []+sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds+sepClassFunBinds (d:ds) = d : sepClassFunBinds ds++sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]+sepInstFunBinds [] = []+sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds+sepInstFunBinds (d:ds) = d : sepInstFunBinds ds++instance ExactP DeclHead where+ exactP dh' = case dh' of+ DHead _ n -> exactP n+ DHInfix _ tva n -> exactP tva >> epInfixName n+ DHParen l dh ->+ case srcInfoPoints l of+ [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"+ _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"+ DHApp _ dh t -> exactP dh >> exactPC t++instance ExactP InstRule where+ exactP ih' = case ih' of+ IRule l mtvs mctxt qn -> do+ let pts = srcInfoPoints l+ _ <- case mtvs of+ Nothing -> return pts+ Just tvs ->+ case pts of+ [a,b] -> do+ printStringAt (pos a) "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ return pts+ _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"+ maybeEP exactPC mctxt+ exactPC qn+ IParen l ih ->+ case srcInfoPoints l of+ [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"+ _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"++instance ExactP InstHead where+ exactP doih' = case doih' of+ IHCon _ qn -> exactPC qn+ IHInfix _ ta qn -> exactPC ta >> epInfixQName qn+ IHParen l doih ->+ case srcInfoPoints l of+ [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"+ _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"+ IHApp _ doih t -> exactPC doih >> exactPC t++instance ExactP TyVarBind where+ exactP (KindedVar l n k) =+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ exactPC n+ printStringAt (pos b) "::"+ exactPC k+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"+ exactP (UnkindedVar l n) =+ case srcInfoPoints l of+ [a,_,c] -> do+ printStringAt (pos a) "("+ exactPC n+ printStringAt (pos c) ")"+ [] -> exactPC n+ _ -> errorEP "ExactP: TyVarBind: UnkindedVar is given wrong number of srcInfoPoints"++instance ExactP Type where+ exactP t' = case t' of+ TyForall l mtvs mctxt t -> do+ let pts = srcInfoPoints l+ _ <- case mtvs of+ Nothing -> return pts+ Just tvs ->+ case pts of+ _:b:pts' -> do+ printString "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ return pts'+ _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"+ maybeEP exactPC mctxt+ exactPC t+ TyStar _ -> printString "*"+ TyFun l t1 t2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP t1+ printStringAt (pos a) "->"+ exactPC t2+ _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"+ TyTuple l bx ts ->+ case bx of+ Boxed -> parenList (srcInfoPoints l) ts+ Unboxed -> parenHashList (srcInfoPoints l) ts+ TyUnboxedSum l es ->+ unboxedSumTypeList (srcInfoPoints l) es+ TyList l t ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "["+ exactPC t+ printStringAt (pos b) "]"+ _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"+ TyParArray l t ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "[:"+ exactPC t+ printStringAt (pos b) ":]"+ _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"+ TyApp _ t1 t2 -> exactP t1 >> exactPC t2+ TyVar _ n -> exactP n+ TyCon _ qn -> exactP qn+ TyParen l t ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "("+ exactPC t+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"+ TyInfix _ t1 qn t2 -> exactP t1 >> exactP qn >> exactPC t2+ TyKind l t kd ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ exactPC t+ printStringAt (pos b) "::"+ exactPC kd+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"+ TyPromoted _ p -> exactPC p+ TyEquals l t0 t1 -> case srcInfoPoints l of+ a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1+ _ -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"++ TySplice _ sp -> exactP sp+ TyBang _ b u t -> exactPC u >> exactPC b >> exactPC t+ TyWildCard _ mn -> printString "_" >> maybeEP exactPC mn+ TyQuasiQuote _ name qt -> do+ let qtLines = lines qt+ printString $ "[" ++ name ++ "|"+ sequence_ (intersperse newLine $ map printString qtLines)+ printString "|]"++instance ExactP MaybePromotedName where+ exactP (PromotedName l qn) = case srcInfoPoints l of+ [a] -> printStringAt (pos a) "'" >> epInfixQName qn+ _ -> errorEP "ExactP: MaybePromotedName: PromotedName given wrong number of args"+ exactP (UnpromotedName _ qn) = epInfixQName qn++instance ExactP Promoted where+ exactP (PromotedInteger _ _ rw) = printString rw+ exactP (PromotedString _ _ rw) = printString ('\"':rw ++ "\"")+ exactP (PromotedCon l True qn) = case srcInfoPoints l of+ [a] -> printStringAt (pos a) "'" >> epQName qn+ _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"+ exactP (PromotedCon _ False qn) = epQName qn+ exactP (PromotedList l b pl) =+ let o | b = "'[" | otherwise = "["+ e = "]"+ pts = srcInfoPoints l+ in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl+ exactP (PromotedTuple l pl) =+ let o = "'("+ e = ")"+ pts = srcInfoPoints l+ in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl+ exactP (PromotedUnit l) = case srcInfoPoints l of+ [_,b] -> do+ printString "("+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"+++instance ExactP Context where+ exactP ctxt = do+ printContext ctxt+ printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"++printContext :: Context SrcSpanInfo -> EP ()+printContext ctxt = do+ let l = ann ctxt+ pts = init $ srcInfoPoints l+ case ctxt of+ CxSingle _ asst -> exactP asst+ CxEmpty _ ->+ case pts of+ [a,b] -> do+ printStringAt (pos a) "("+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"+ CxTuple _ assts -> parenList pts assts+++instance ExactP Asst where+ exactP asst = case asst of+ TypeA _ t -> exactP t+ IParam l ipn t ->+ case srcInfoPoints l of+ [a] -> do+ exactP ipn+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"+ ParenA l asst' ->+ case take 2 $ srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "("+ exactPC asst'+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"++instance ExactP Deriving where+ exactP (Deriving l mds ihs) =+ case srcInfoPoints l of+ _:pts -> do+ printString "deriving"+ maybeEP exactPC mds+ case pts of+ [] -> exactPC $ head ihs+ _ -> parenList pts ihs+ _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"++instance ExactP DerivStrategy where+ exactP (DerivStock _) =+ printString "stock"+ exactP (DerivAnyclass _) =+ printString "anyclass"+ exactP (DerivNewtype _) =+ printString "newtype"+ exactP (DerivVia _ ty) = do+ printString "via"+ exactP ty++instance ExactP ClassDecl where+ exactP cdecl = case cdecl of+ ClsDecl _ d -> exactP d+ ClsDataFam l mctxt dh mk ->+ case srcInfoPoints l of+ _:pts -> do+ printString "data"+ maybeEP exactPC mctxt+ exactPC dh+ maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk+ _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"+ ClsTyFam l dh mk mi ->+ case srcInfoPoints l of+ _:_ -> do+ printString "type"+ exactPC dh+ maybeEP exactPC mk+ maybeEP exactPC mi+ _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"+ ClsTyDef l t1 ->+ case srcInfoPoints l of+ _:b:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"+ printString "type"+ printStringAt (pos b) "instance"+ exactPC t1+ _:_ -> do+ printString "type"+ exactPC t1+ _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"+ ClsDefSig l n t ->+ case srcInfoPoints l of+ _:b:_ -> do+ printString "default"+ exactPC n+ printStringAt (pos b) "::"+ exactPC t+ _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"+++instance ExactP InstDecl where+ exactP idecl = case idecl of+ InsDecl _ d -> exactP d+ InsType l t1 t2 ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "type"+ exactPC t1+ printStringAt (pos b) "="+ exactPC t2+ _ -> internalError "InstDecl -> InsType"+ InsData l dn t constrs mder -> do+ exactP dn+ exactPC t+ printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs+ mapM_ exactPC mder+ InsGData l dn t mk gds mder -> do+ let pts = srcInfoPoints l+ exactP dn+ exactPC t+ pts1 <- case mk of+ Nothing -> return pts+ Just kd -> case pts of+ p:pts' -> do+ printStringAt (pos p) "::"+ exactPC kd+ return pts'+ _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"+ case pts1 of+ x:_ -> do+ printStringAt (pos x) "where"+ mapM_ exactPC gds+ mapM_ exactPC mder+ _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"+-- InsInline l inl mact qn -> do+-- case srcInfoPoints l of+-- [a,b] -> do+-- printString $ if inl then "{-# INLINE" else "{-# NOINLINE"+-- maybeEP exactPC mact+-- exactPC qn+-- printStringAt (pos b) "#-}"+-- _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"++instance ExactP FunDep where+ exactP (FunDep l nxs nys) =+ case srcInfoPoints l of+ [a] -> do+ mapM_ exactPC nxs+ printStringAt (pos a) "->"+ mapM_ exactPC nys+ _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"++instance ExactP QualConDecl where+ exactP (QualConDecl l mtvs mctxt cd) = do+ let pts = srcInfoPoints l+ _ <- case mtvs of+ Nothing -> return pts+ Just tvs ->+ case pts of+ _:b:pts' -> do+ printString "forall"+ mapM_ exactPC tvs+ printStringAt (pos b) "."+ return pts'+ _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"+ maybeEP exactPC mctxt+ exactPC cd++instance ExactP ConDecl where+ exactP cd = case cd of+ ConDecl _ n bts -> exactP n >> mapM_ exactPC bts+ InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb+ RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds++instance ExactP GadtDecl where+ exactP (GadtDecl l n _mtvs mctxt ns' t) =+ case ns' of+ Nothing ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"+ Just ts ->+ case srcInfoPoints l of+ (a:b:c:d:rest) -> do+ exactPC n+ printStringAt (pos a) "::"+ maybeEP exactPC mctxt+ printStringAt (pos b) "{"+ printInterleaved' (zip rest (repeat ",")) ts+ printStringAt (pos c) "}"+ printStringAt (pos d) "->"+ exactPC t+ _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"++instance ExactP BangType where+ exactP bt = case bt of+ BangedTy l -> printStringAt (pos l) "!"+ LazyTy l -> printStringAt (pos l) "~"+ _ -> return ()++instance ExactP Unpackedness where+ exactP bt = case bt of+ Unpack l ->+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "{-# UNPACK"+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Unpackedness: Unpack is given wrong number of srcInfoPoints"+ NoUnpack l ->+ case srcInfoPoints l of+ [a,b] -> do+ printStringAt (pos a) "{-# NOUNPACK"+ printStringAt (pos b) "#-}"+ _ -> errorEP "ExactP: Unpackedness: NoUnpack is given wrong number of srcInfoPoints"+ NoUnpackPragma {} -> return ()++instance ExactP Splice where+ exactP (IdSplice _ str) = printString $ '$':str+ exactP (TIdSplice _ str) = printString $ "$$" ++ str+ exactP (ParenSplice l e) = printParen "ParenSplice" "$(" l e+ exactP (TParenSplice l e) = printParen "TParenSplice" "$$(" l e++printParen :: ExactP ast => String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printParen con paren l e =+ case srcInfoPoints l of+ [_,b] -> do+ printString paren+ exactPC e+ printStringAt (pos b) ")"+ _ -> errorEP $ "ExactP: Splice: " ++ con ++ " is given wrong number of srcInfoPoints"++instance ExactP Exp where+ exactP exp = case exp of+ Var _ qn -> exactP qn+ OverloadedLabel _ qn -> printString ('#':qn)+ IPVar _ ipn -> exactP ipn+ Con _ qn -> exactP qn+ Lit _ lit -> exactP lit+ InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2+ App _ e1 e2 -> exactP e1 >> exactPC e2+ NegApp _ e -> printString "-" >> exactPC e+ Lambda l ps e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "\\"+ mapM_ exactPC ps+ printStringAt (pos b) "->"+ exactPC e+ _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"+ Let l bs e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "let"+ exactPC bs+ printStringAt (pos b) "in"+ exactPC e+ _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"+ If l ec et ee -> -- traceShow (srcInfoPoints l) $ do+ -- First we need to sort out if there are any optional+ -- semicolons hiding among the srcInfoPoints.+ case srcInfoPoints l of+ (_:b:c:rest) -> do+ let (mpSemi1,pThen,rest2) =+ if snd (spanSize b) == 4 -- this is "then", not a semi+ then (Nothing, b, c:rest)+ else (Just b, c, rest)+ case rest2 of+ (c':rest3) -> do+ let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi+ then (Nothing, rest2)+ else (Just c', rest3)+ case rest4 of+ [pElse] -> do+ -- real work starts here:+ printString "if"+ exactPC ec+ maybeEP printSemi mpSemi1+ printStringAt (pos pThen) "then"+ exactPC et+ maybeEP printSemi mpSemi2+ printStringAt (pos pElse) "else"+ exactPC ee+ [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"+ _ -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"+ _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"++ _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"+ MultiIf l alts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "if"+ layoutList pts (map GuardedAlt alts)+ _ -> internalError "Exp -> MultiIf"+ Case l e alts ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "case"+ exactPC e+ printStringAt (pos b) "of"+ layoutList pts alts+ _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"+ Do l stmts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "do"+ layoutList pts stmts+ _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"+ MDo l stmts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "mdo"+ layoutList pts stmts+ _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"+ Tuple l bx es ->+ case bx of+ Boxed -> parenList (srcInfoPoints l) es+ Unboxed -> parenHashList (srcInfoPoints l) es+ UnboxedSum l b a es -> do+ unboxedSumEP l b a es+ TupleSection l bx mexps -> do+ let pts = srcInfoPoints l+ (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")+ printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])+ (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)+ List l es -> squareList (srcInfoPoints l) es+ ParArray l es -> squareColonList (srcInfoPoints l) es+ Paren l p -> parenList (srcInfoPoints l) [p]+ LeftSection l e qop ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "("+ exactPC e+ exactPC qop+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"+ RightSection l qop e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "("+ exactPC qop+ exactPC e+ printStringAt (pos b) ")"+ _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"+ RecConstr l qn fups -> do+ let pts = srcInfoPoints l+ exactP qn+ curlyList pts fups+ RecUpdate l e fups -> do+ let pts = srcInfoPoints l+ exactP e+ curlyList pts fups+ EnumFrom l e ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "["+ exactPC e+ printStringAt (pos b) ".."+ printStringAt (pos c) "]"+ _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"+ EnumFromTo l e1 e2 ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "["+ exactPC e1+ printStringAt (pos b) ".."+ exactPC e2+ printStringAt (pos c) "]"+ _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"+ EnumFromThen l e1 e2 ->+ case srcInfoPoints l of+ [_,b,c,d] -> do+ printString "["+ exactPC e1+ printStringAt (pos b) ","+ exactPC e2+ printStringAt (pos c) ".."+ printStringAt (pos d) "]"+ _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"+ EnumFromThenTo l e1 e2 e3 ->+ case srcInfoPoints l of+ [_,b,c,d] -> do+ printString "["+ exactPC e1+ printStringAt (pos b) ","+ exactPC e2+ printStringAt (pos c) ".."+ exactPC e3+ printStringAt (pos d) "]"+ _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"+ ParArrayFromTo l e1 e2 ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "[:"+ exactPC e1+ printStringAt (pos b) ".."+ exactPC e2+ printStringAt (pos c) ":]"+ _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"+ ParArrayFromThenTo l e1 e2 e3 ->+ case srcInfoPoints l of+ [_,b,c,d] -> do+ printString "[:"+ exactPC e1+ printStringAt (pos b) ","+ exactPC e2+ printStringAt (pos c) ".."+ exactPC e3+ printStringAt (pos d) ":]"+ _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"+ ListComp l e qss ->+ case srcInfoPoints l of+ _:pts -> do+ printString "["+ exactPC e+ bracketList ("|",",","]") pts qss+ _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"+ ParComp l e qsss ->+ case srcInfoPoints l of+ _:pts -> do+ let (strs, qss) = unzip $ pairUp qsss+ printString "["+ exactPC e+ printInterleaved (zip pts (strs ++ ["]"])) qss+ _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"+ where pairUp [] = []+ pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs+ pairUp _ = internalError "Exp -> ParComp -> pairUp"+ ParArrayComp l e qsss ->+ case srcInfoPoints l of+ _:pts -> do+ let (strs, qss) = unzip $ pairUp qsss+ printString "[:"+ exactPC e+ printInterleaved (zip pts (strs ++ [":]"])) qss+ _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"+ where pairUp [] = []+ pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs+ pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"++ ExpTypeSig l e t ->+ case srcInfoPoints l of+ [a] -> do+ exactP e+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"+ VarQuote _ qn -> do+ printString "'"+ exactPC qn+ TypQuote _ qn -> do+ printString "''"+ exactPC qn+ BracketExp _ br -> exactP br+ SpliceExp _ sp -> exactP sp+ QuasiQuote _ name qt -> do+ let qtLines = lines qt+ printString $ "[" ++ name ++ "|"+ sequence_ (intersperse newLine $ map printString qtLines)+ printString "|]"+ XTag l xn attrs mat es ->+ case srcInfoPoints l of+ [_,b,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ -- TODO: Fugly hack/duplication, should be refactored+ -- For the case when there's an optional semicolon+ [_,b,semi,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC es+ printSemi semi+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"+ XETag l xn attrs mat ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) "/>"+ _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"+ XPcdata _ str -> do+ let strLines = lines str+ sequence_ (intersperse newLine $ map printString strLines)+ XExpTag l e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "<%"+ exactPC e+ printStringAt (pos b) "%>"+ _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"+ XChildTag l es ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "<%>"+ mapM_ exactPC es+ printStringAt (pos b) "</"+ printStringAt (pos c) "%>"+ -- Ugly duplication for when there's an optional semi+ [_,semi,b,c] -> do+ printString "<%>"+ mapM_ exactPC es+ printSemi semi+ printStringAt (pos b) "</"+ printStringAt (pos c) "%>"+ _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"+ CorePragma l str e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString $ "{-# CORE " ++ show str+ printStringAt (pos b) "#-}"+ exactPC e+ _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"+ SCCPragma l str e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString $ "{-# SCC " ++ show str+ printStringAt (pos b) "#-}"+ exactPC e+ _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"+ GenPragma l str (i1,i2) (i3,i4) e -> do+ printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]+ exactPC e+ Proc l p e ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "proc"+ exactPC p+ printStringAt (pos b) "->"+ exactPC e+ _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"+ LeftArrApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) "-<"+ exactPC e2+ _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"+ RightArrApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) ">-"+ exactPC e2+ _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"+ LeftArrHighApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) "-<<"+ exactPC e2+ _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"+ RightArrHighApp l e1 e2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP e1+ printStringAt (pos a) ">>-"+ exactPC e2+ _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"++ ArrOp l e -> case srcInfoPoints l of+ [a, b] -> do+ printStringAt (pos a) "(|"+ exactPC e+ printStringAt (pos b) "|)"+ _ -> errorEP "ExactP: Exp: ArrOp is given wrong number of srcInfoPoints"++ LCase l alts ->+ case srcInfoPoints l of+ _:b:pts -> do+ printString "\\"+ printStringAt (pos b) "case"+ layoutList pts alts+ _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"+ TypeApp _ ty -> printString "@" >> exactP ty++unboxedSumEP :: ExactP e => SrcSpanInfo -> Int -> Int -> e SrcSpanInfo -> EP ()+unboxedSumEP l b _a es = do+ let (opt:pts) = srcInfoPoints l+ (o, e) = ("(#", "#)")+ bars = zip (map pos (init pts)) (map printString (repeat "|"))+ open = (pos opt, printString o)+ close = (pos (last pts), printString e)+ fs = take b bars+ as = drop b bars+ printSeq $ open : fs ++ [((0, 0), exactPC es)] ++ as ++ [close]++instance ExactP FieldUpdate where+ exactP fup = case fup of+ FieldUpdate l qn e ->+ case srcInfoPoints l of+ [a] -> do+ exactP qn+ printStringAt (pos a) "="+ exactPC e+ _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"+ FieldPun _ n -> exactP n+ FieldWildcard _ -> printString ".."++instance ExactP Stmt where+ exactP stmt = case stmt of+ Generator l p e ->+ case srcInfoPoints l of+ [a] -> do+ exactP p+ printStringAt (pos a) "<-"+ exactPC e+ _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"+ Qualifier _ e -> exactP e+ LetStmt _ bds -> do+ printString "let"+ exactPC bds+ RecStmt l ss ->+ case srcInfoPoints l of+ _:pts -> do+ printString "rec"+ layoutList pts ss+ _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"++instance ExactP QualStmt where+ exactP qstmt = case qstmt of+ QualStmt _ stmt -> exactP stmt+ ThenTrans _ e -> printString "then" >> exactPC e+ ThenBy l e1 e2 ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "then"+ exactPC e1+ printStringAt (pos b) "by"+ exactPC e2+ _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"+ GroupBy l e -> do+ printStrs $ zip (srcInfoPoints l) ["then","group","by"]+ exactPC e+ GroupUsing l e -> do+ printStrs $ zip (srcInfoPoints l) ["then","group","using"]+ exactPC e+ GroupByUsing l e1 e2 -> do+ let pts = srcInfoPoints l+ printStrs $ zip (init pts) ["then","group","by"]+ exactPC e1+ printStringAt (pos (last pts)) "using"+ exactPC e2++instance ExactP Bracket where+ exactP br = case br of+ ExpBracket l e -> printBracket "ExpBracket" "[|" "|]" l e+ TExpBracket l e -> printBracket "TExpBracket" "[||" "||]" l e+ PatBracket l p -> printBracket "PatBracket" "[p|" "|]" l p+ TypeBracket l t -> printBracket "TypeBracket" "[t|" "|]" l t+ DeclBracket l ds ->+ case srcInfoPoints l of+ pts@(_:_) -> do+ printString "[d|"+ layoutList (init pts) (sepFunBinds ds)+ printStringAt (pos (last pts)) "|]"+ _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"++printBracket :: ExactP ast => String -> String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printBracket con oBracket cBracket l c =+ case srcInfoPoints l of+ [_,b] -> do+ printString oBracket+ exactPC c+ printStringAt (pos b) cBracket+ _ -> errorEP $ "ExactP: Bracket: " ++ con ++ " is given wrong number of srcInfoPoints"++instance ExactP XAttr where+ exactP (XAttr l xn e) =+ case srcInfoPoints l of+ [a] -> do+ exactP xn+ printStringAt (pos a) "="+ exactPC e+ _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"++instance ExactP Alt where+ exactP (Alt l p galts mbs) = do+ exactP p+ exactPC (GuardedAlts galts)+ maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs++instance ExactP Match where+ exactP (Match l n ps rhs mbinds) = do+ let pts = srcInfoPoints l+ len = length pts+ pars = len `div` 2+ (oPars,cParsWh) = splitAt pars pts+ (cPars,_) = splitAt pars cParsWh -- _§ is either singleton or empty+ printStrs (zip oPars (repeat "("))+ exactPC n+ printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)+ exactPC rhs+ maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds+ exactP (InfixMatch l a n bs rhs mbinds) = do+ let pts = srcInfoPoints l+ len = length pts+ pars = len `div` 2+ (oPars,cParsWh) = splitAt pars pts+ (cPars,whPt) = splitAt pars cParsWh -- whPt is either singleton or empty+ printStrs (zip oPars (repeat "("))+ exactPC a+ epInfixName n+ printInterleaved' (zip cPars (repeat ")")) bs+ exactPC rhs+ maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds++instance ExactP Rhs where+ exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e+ exactP (GuardedRhss _ grhss) = mapM_ exactPC grhss++instance ExactP GuardedRhs where+ exactP (GuardedRhs l ss e) =+ case srcInfoPoints l of+ _:pts -> do+ printString "|"+ printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss+ exactPC e+ _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"++newtype GuardedAlts l = GuardedAlts (Rhs l)+ deriving (Functor, Show)+instance Annotated GuardedAlts where+ amap f (GuardedAlts v) = GuardedAlts (amap f v)+ ann (GuardedAlts v) = ann v++newtype GuardedAlt l = GuardedAlt (GuardedRhs l)+ deriving (Functor, Show)+instance Annotated GuardedAlt where+ amap f (GuardedAlt v) = GuardedAlt (amap f v)+ ann (GuardedAlt v) = ann v++instance ExactP GuardedAlts where+ exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e+ exactP (GuardedAlts (GuardedRhss _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss++instance ExactP GuardedAlt where+ exactP (GuardedAlt (GuardedRhs l ss e)) =+ case srcInfoPoints l of+ _:pts -> do+ printString "|"+ printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss+ exactPC e+ _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"++instance ExactP Pat where+ exactP pat = case pat of+ PVar l n -> exactPC (fmap (const l) n)+ PLit _ sg lit -> exactPC sg >> exactPC lit+ PNPlusK l n k ->+ case srcInfoPoints l of+ [a,b] -> do+ exactP n+ printStringAt (pos a) "+"+ printStringAt (pos b) (show k)+ _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"+ PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb+ PApp _ qn ps -> exactP qn >> mapM_ exactPC ps+ PTuple l bx ps ->+ case bx of+ Boxed -> parenList (srcInfoPoints l) ps+ Unboxed -> parenHashList (srcInfoPoints l) ps+ PUnboxedSum l before after e ->+ unboxedSumEP l before after e+ PList l ps -> squareList (srcInfoPoints l) ps+ PParen l p -> parenList (srcInfoPoints l) [p]+ PRec l qn pfs -> exactP qn >> curlyList (srcInfoPoints l) pfs+ PAsPat l n p ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "@"+ exactPC p+ _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"+ PWildCard _ -> printString "_"+ PIrrPat _ p -> printString "~" >> exactPC p+ PatTypeSig l p t ->+ case srcInfoPoints l of+ [a] -> do+ exactP p+ printStringAt (pos a) "::"+ exactPC t+ _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"+ PViewPat l e p ->+ case srcInfoPoints l of+ [a] -> do+ exactP e+ printStringAt (pos a) "->"+ exactPC p+ _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"+ PRPat l rps -> squareList (srcInfoPoints l) rps+ PXTag l xn attrs mat ps ->+ case srcInfoPoints l of+ [_,b,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC ps+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ -- Optional semi+ [_,b,semi,c,d,e] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) ">"+ mapM_ exactPC ps+ printSemi semi+ printStringAt (pos c) "</"+ printWhitespace (pos d)+ exactP xn+ printStringAt (pos e) ">"+ _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"+ PXETag l xn attrs mat ->+ case srcInfoPoints l of+ [_,b] -> do+ printString "<"+ exactPC xn+ mapM_ exactPC attrs+ maybeEP exactPC mat+ printStringAt (pos b) "/>"+ _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"+ PXPcdata _ str -> printString str+ PXPatTag l p ->+ case srcInfoPoints l of+ [_,_] -> do+ printString "<%"+ exactPC p+ printString "%>"+ _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"+ PXRPats l rps -> bracketList ("<[",",","]>") (srcInfoPoints l) rps+ PSplice _ sp -> exactP sp+ PQuasiQuote _ name qt -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"+ PBangPat _ p -> printString "!" >> exactPC p++instance ExactP PatField where+ exactP pf = case pf of+ PFieldPat l qn p ->+ case srcInfoPoints l of+ [a] -> do+ exactP qn+ printStringAt (pos a) "="+ exactPC p+ _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"+ PFieldPun _ n -> exactP n+ PFieldWildcard _ -> printString ".."++instance ExactP RPat where+ exactP rpat = case rpat of+ RPOp _ rp op -> exactP rp >> exactPC op+ RPEither l r1 r2 ->+ case srcInfoPoints l of+ [a] -> do+ exactP r1+ printStringAt (pos a) "|"+ exactPC r2+ _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"+ RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps+ RPGuard l p stmts ->+ case srcInfoPoints l of+ _:pts -> do+ printString "(|"+ exactPC p+ bracketList ("|",",","|)") pts stmts+ _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"+ RPCAs l n rp ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "@:"+ exactPC rp+ _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"+ RPAs l n rp ->+ case srcInfoPoints l of+ [a] -> do+ exactP n+ printStringAt (pos a) "@"+ exactPC rp+ _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"+ RPParen l rp -> parenList (srcInfoPoints l) [rp]+ RPPat _ p -> exactP p++instance ExactP RPatOp where+ exactP rop = printString $ case rop of+ RPStar _ -> "*"+ RPStarG _ -> "*!"+ RPPlus _ -> "+"+ RPPlusG _ -> "+!"+ RPOpt _ -> "?"+ RPOptG _ -> "?!"++instance ExactP PXAttr where+ exactP (PXAttr l xn p) =+ case srcInfoPoints l of+ [a] -> do+ exactP xn+ printStringAt (pos a) "="+ exactPC p+ _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"++instance ExactP XName where+ exactP xn = case xn of+ XName _ name -> printString name+ XDomName l dom name ->+ case srcInfoPoints l of+ [_,b,c] -> do+ printString dom+ printStringAt (pos b) ":"+ printStringAt (pos c) name+ _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"++instance ExactP Binds where+ exactP (BDecls l ds) = layoutList (srcInfoPoints l) (sepFunBinds ds)+ exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips++instance ExactP CallConv where+ exactP (StdCall _) = printString "stdcall"+ exactP (CCall _) = printString "ccall"+ exactP (CPlusPlus _) = printString "cplusplus"+ exactP (DotNet _) = printString "dotnet"+ exactP (Jvm _) = printString "jvm"+ exactP (Js _) = printString "js"+ exactP (JavaScript _) = printString "javascript"+ exactP (CApi _) = printString "capi"++instance ExactP Safety where+ exactP (PlayRisky _) = printString "unsafe"+ exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"+ exactP (PlayInterruptible _) = printString "interruptible"++instance ExactP Rule where+ exactP (Rule l str mact mrvs e1 e2) =+ case srcInfoPoints l of+ _:pts -> do+ printString (show str)+ maybeEP exactP mact+ pts1 <- case mrvs of+ Nothing -> return pts+ Just rvs ->+ case pts of+ a':b:pts' -> do+ printStringAt (pos a') "forall"+ mapM_ exactPC rvs+ printStringAt (pos b) "."+ return pts'+ _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"+ case pts1 of+ [x] -> do+ exactPC e1+ printStringAt (pos x) "="+ exactPC e2+ _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"+ _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"++instance ExactP RuleVar where+ exactP (TypedRuleVar l n t) =+ case srcInfoPoints l of+ [_,b,c] -> do+ printString "("+ exactPC n+ printStringAt (pos b) "::"+ exactPC t+ printStringAt (pos c) ")"+ _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"+ exactP (RuleVar _ n) = exactP n++instance ExactP Overlap where+ exactP (NoOverlap _) =+ printString "{-# NO_OVERLAP #-}"+ exactP (Overlap _) =+ printString "{-# OVERLAP #-}"+ exactP (Overlaps _) =+ printString "{-# OVERLAPS #-}"+ exactP (Overlapping _) =+ printString "{-# OVERLAPPING #-}"+ exactP (Overlappable _) =+ printString "{-# OVERLAPPABLE #-}"+ exactP (Incoherent _) =+ printString "{-# INCOHERENT #-}"++instance ExactP Activation where+ exactP (ActiveFrom l i) =+ printPoints l ["[", show i, "]"]+ exactP (ActiveUntil l i) =+ printPoints l ["[", "~", show i, "]"]++instance ExactP FieldDecl where+ exactP (FieldDecl l ns bt) = do+ let pts = srcInfoPoints l+ printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns+ exactPC bt++instance ExactP IPBind where+ exactP (IPBind l ipn e) =+ case srcInfoPoints l of+ [a] -> do+ exactP ipn+ printStringAt (pos a) "="+ exactPC e+ _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"++-- Hopefully, this will never fire.+-- If it does, hopefully by that time https://github.com/sol/rewrite-with-location+-- will be implemented.+-- If not, then removing all calls to internalError should give a better+-- idea where the error comes from.+-- So far, it's necessary to eliminate non-exhaustive patterns warnings.+-- We don't want to turn them off, as we want unhandled AST nodes to be+-- reported.+internalError :: String -> a+internalError loc' = error $ unlines+ [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"+ , "Location: " ++ loc'+ , "This is either caused by supplying incorrect location information or by"+ , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"+ , "by the haskell-src-exts Parser it is a bug, please it report it at"+ , "https://github.com/haskell-suite/haskell-src-exts"]
src/Language/Haskell/Exts/ExtScheme.hs view
@@ -1,4 +1,6 @@+{-# LANGUAGE Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.ExtScheme
src/Language/Haskell/Exts/Extension.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Extension@@ -39,7 +40,11 @@ ) where +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative ((<$>), (<|>))+#else+import Control.Applicative ((<|>))+#endif import Data.Array (Array, accumArray, bounds, Ix(inRange), (!)) import Data.List (nub) import Data.Maybe (fromMaybe)@@ -148,13 +153,12 @@ -- | [GHC § 7.6.3.5] Allow type signatures in instances. | InstanceSigs - -- | [GHC § 7.3.8] Allows recursive bindings in @do@ blocks,- -- using the @rec@ keyword.+ -- | [GHC § 7.3.8] Deprecated in GHC. Allows recursive+ -- bindings in @do@ blocks, using the @rec@ keyword. | DoRec - -- | [GHC § 7.3.8.2] Deprecated in GHC. Allows recursive bindings- -- using @mdo@, a variant of @do@. @DoRec@ provides a different,- -- preferred syntax.+ -- | [GHC § 7.3.8.2] Allows recursive bindings using @mdo@, a+ -- variant of @do@, and @rec@. | RecursiveDo -- | [GHC § 7.3.9] Provide syntax for writing list@@ -265,6 +269,9 @@ -- @deriving@ for any class with an instance for the underlying type. | GeneralizedNewtypeDeriving + -- | [GHC § 9.6.10] Allow use of any typeclass in deriving clauses.+ | DeriveAnyClass+ -- | [Hugs § 7.1] Enable the \"Trex\" extensible records system. | ExtensibleRecords @@ -368,8 +375,13 @@ -- > import "network" Network.Socket | PackageImports + | ImportQualifiedPost+ | LambdaCase + -- | [GHC § 7.3.20] Allow case expressions with no alternatives.+ | EmptyCase+ -- | [GHC § 7.8.6] Deprecated in GHC 6.12 and will be removed in -- GHC 7. Allow a type variable to be instantiated at a -- polymorphic type.@@ -460,6 +472,10 @@ -- foreign function interface. | CApiFFI + -- | GHCJS FFI extension with convenient import patterns,+ -- asynchronous FFI and a JSVal FFI type+ | JavaScriptFFI+ -- | [GHC § 7.3.27] Enable explicit namespaces in import/export. | ExplicitNamespaces @@ -519,6 +535,33 @@ -- start with an underscore as wildcards. For example, `foo :: _x` is -- equivalent to `foo :: _`. | NamedWildCards++ | TypeApplications++ | TypeFamilyDependencies++ | OverloadedLabels++ -- | Allow multiple @deriving@ clauses, each optionally qualified with a+ -- /strategy/.+ | DerivingStrategies++ | UnboxedSums++ | TypeInType++ | Strict++ | StrictData++ -- | Enable deriving instances via types of the same runtime representation.+ -- Implies 'DerivingStrategies'.+ | DerivingVia++ | QuantifiedConstraints++ | BlockArguments+ deriving (Show, Read, Eq, Ord, Enum, Bounded, Data, Typeable) -- | Certain extensions imply other extensions, and this function@@ -553,9 +596,13 @@ ExistentialQuantification -> [ExplicitForAll] ImpredicativeTypes -> [ExplicitForAll] PolyKinds -> [KindSignatures]+ TypeFamilyDependencies -> [TypeFamilies]+ TypeInType -> [PolyKinds, DataKinds, KindSignatures]+ TypeOperators -> [ExplicitNamespaces] -- Deprecations RecordPuns -> [NamedFieldPuns] PatternSignatures -> [ScopedTypeVariables]+ DerivingVia -> [DerivingStrategies] _ -> [] -- | The list of extensions enabled by@@ -701,4 +748,3 @@ go acc (EnableExtension x : exts) = go (x : acc) exts -- We just throw away UnknownExtensions go acc (_ : exts) = go acc exts-
src/Language/Haskell/Exts/Fixity.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Fixity@@ -28,23 +29,29 @@ -- /varid/ operators, and /varsym/ operators written as is. , infix_, infixl_, infixr_ -- ** Collections of fixities- , preludeFixities, baseFixities, prefixMinusFixity+ , preludeFixities, baseFixities -- * Applying fixities to an AST , AppFixity(..) ) where import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.SrcLoc -import Control.Monad (when, (<=<), liftM, liftM2, liftM3)+import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)+import qualified Control.Monad.Fail as Fail import Data.Traversable (mapM)-import Prelude hiding (mapM)-import Data.Data hiding (Fixity) import Data.Maybe (fromMaybe)+import Data.Typeable+import Data.Data hiding (Fixity)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative ((<$))+#endif+import Prelude hiding (mapM) -- | Operator fixities are represented by their associativity -- (left, right or none) and their precedence (0-9).-data Fixity = Fixity Assoc Int QName+data Fixity = Fixity (Assoc ()) Int (QName ()) deriving (Eq,Ord,Show,Typeable,Data) -- | All AST elements that may include expressions which in turn may@@ -53,75 +60,81 @@ -- | Tweak any expressions in the element to account for the -- fixities given. Assumes that all operator expressions are -- fully left associative chains to begin with.- applyFixities :: Monad m => [Fixity] -- ^ The fixities to account for.- -> ast -- ^ The element to tweak.- -> m ast -- ^ The same element, but with operator expressions updated, or a failure.+ applyFixities :: Fail.MonadFail m => [Fixity] -- ^ The fixities to account for.+ -> ast SrcSpanInfo -- ^ The element to tweak.+ -> m (ast SrcSpanInfo) -- ^ The same element, but with operator expressions updated, or a failure. +assocNone, assocLeft, assocRight :: Assoc ()+assocNone = AssocNone ()+assocLeft = AssocLeft ()+assocRight = AssocRight () instance AppFixity Exp where applyFixities fixs' = infFix fixs' <=< leafFix fixs' where -- This is the real meat case. We can assume a left-associative list to begin with.- infFix fixs (InfixApp a op2 z) = do+ infFix fixs (InfixApp l2 a op2 z) = do e <- infFix fixs a let fixup (a1,p1) (a2,p2) y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == AssocNone)) -- Ambiguous infix expression!+ when (p1 == p2 && (a1 /= a2 || a1 == assocNone)) -- Ambiguous infix expression! $ fail "Ambiguous infix expression"- if p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone) -- Already right order- then return $ InfixApp e op2 z- else liftM pre (infFix fixs $ InfixApp y op2 z)+ if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order+ then return $ InfixApp l2 e op2 z+ else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z) case e of- InfixApp x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp x op1)- NegApp y -> fixup prefixMinusFixity (askFixity fixs op2) y NegApp- _ -> return $ InfixApp e op2 z+ InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)+ NegApp _ y -> fixup prefixMinusFixity (askFixity fixs op2) y (NegApp l2)+ _ -> return $ InfixApp l2 e op2 z infFix _ e = return e +--ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"+ instance AppFixity Pat where applyFixities fixs' = infFix fixs' <=< leafFixP fixs'- where -- Same for patterns- infFix fixs (PInfixApp a op2 z) = do+ where -- This is the real meat case. We can assume a left-associative list to begin with.+ infFix fixs (PInfixApp l2 a op2 z) = do p <- infFix fixs a let fixup (a1,p1) (a2,p2) y pre = do- when (p1 == p2 && (a1 /= a2 || a1 == AssocNone )) -- Ambiguous infix expression!+ when (p1 == p2 && (a1 /= a2 || a1 == assocNone )) -- Ambiguous infix expression! $ fail "Ambiguous infix expression"- if p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone) -- Already right order- then return $ PInfixApp p op2 z- else liftM pre (infFix fixs $ PInfixApp y op2 z)+ if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order+ then return $ PInfixApp l2 p op2 z+ else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z) case p of- PInfixApp x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp x op1)- _ -> return $ PInfixApp p op2 z+ PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)+ _ -> return $ PInfixApp l2 p op2 z infFix _ p = return p - -- Internal: lookup associativity and precedence of an operator-askFixity :: [Fixity] -> QOp -> (Assoc, Int)-askFixity xs k = askFix xs (f k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp+askFixity :: [Fixity] -> QOp l -> (Assoc (), Int)+askFixity xs k = askFix xs (f (() <$ k)) where- f (QVarOp x) = g x- f (QConOp x) = g x+ f (QVarOp _ x) = g x+ f (QConOp _ x) = g x - g (Special Cons) = UnQual (Symbol ":")- g x = x+ g (Special _ (Cons _)) = UnQual () (Symbol () ":")+ g x = x -- Same using patterns-askFixityP :: [Fixity] -> QName -> (Assoc, Int)-askFixityP xs qn = askFix xs (g qn)+askFixityP :: [Fixity] -> QName l -> (Assoc (), Int)+askFixityP xs qn = askFix xs (g (() <$ qn)) where- g (Special Cons) = UnQual (Symbol ":")- g x = x+ g (Special _ (Cons _)) = UnQual () (Symbol () ":")+ g x = x -askFix :: [Fixity] -> QName -> (Assoc, Int)-askFix xs = \k -> lookupWithDefault (AssocLeft, 9) k mp+askFix :: [Fixity] -> QName l -> (Assoc (), Int)+askFix xs = \k -> lookupWithDefault (assocLeft, 9) (() <$ k) mp where- lookupWithDefault def k mp1 = fromMaybe def $ lookup k mp1+ lookupWithDefault def k mp' = fromMaybe def $ lookup k mp' mp = [(x,(a,p)) | Fixity a p x <- xs] + -- | Built-in fixity for prefix minus-prefixMinusFixity :: (Assoc, Int)-prefixMinusFixity = (AssocLeft, 6)+prefixMinusFixity :: (Assoc (), Int)+prefixMinusFixity = (AssocLeft (), 6) -- | All fixities defined in the Prelude. preludeFixities :: [Fixity]@@ -129,10 +142,11 @@ [infixr_ 9 ["."] ,infixl_ 9 ["!!"] ,infixr_ 8 ["^","^^","**"]- ,infixl_ 7 ["*","/","`quot`","`rem`","`div`","`mod`",":%","%"]+ ,infixl_ 7 ["*","/","`quot`","`rem`","`div`","`mod`"] ,infixl_ 6 ["+","-"] ,infixr_ 5 [":","++"] ,infix_ 4 ["==","/=","<","<=",">=",">","`elem`","`notElem`"]+ ,infixl_ 4 ["<$>","<$","<*>","<*","*>"] ,infixr_ 3 ["&&"] ,infixr_ 2 ["||"] ,infixl_ 1 [">>",">>="]@@ -148,257 +162,289 @@ baseFixities :: [Fixity] baseFixities = preludeFixities ++ concat [infixl_ 9 ["!","//","!:"]+ ,infixr_ 9 ["`Compose`"] ,infixl_ 8 ["`shift`","`rotate`","`shiftL`","`shiftR`","`rotateL`","`rotateR`"]- ,infixl_ 7 [".&."]+ ,infixl_ 7 [".&.","%"]+ ,infixr_ 6 ["<>"] ,infixl_ 6 ["`xor`"] ,infix_ 6 [":+"] ,infixl_ 5 [".|."]- ,infixr_ 5 ["+:+","<++","<+>"] -- fixity conflict for +++ between ReadP and Arrow+ ,infixr_ 5 ["+:+","<++","<+>","<|"] -- fixity conflict for +++ between ReadP and Arrow ,infix_ 5 ["\\\\"]- ,infixl_ 4 ["<$>","<$","<*>","<*","*>","<**>"]- ,infix_ 4 ["`elemP`","`notElemP`"]+ ,infixl_ 4 ["<**>","$>","<$","<$!>"]+ ,infix_ 4 ["`elemP`","`notElemP`",":~:",":~~:"] ,infixl_ 3 ["<|>"] ,infixr_ 3 ["&&&","***"] ,infixr_ 2 ["+++","|||"] ,infixr_ 1 ["<=<",">=>",">>>","<<<","^<<","<<^","^>>",">>^"]+ ,infixl_ 1 ["&"] ,infixl_ 0 ["`on`"] ,infixr_ 0 ["`par`","`pseq`"] ] infixr_, infixl_, infix_ :: Int -> [String] -> [Fixity]-infixr_ = fixity AssocRight-infixl_ = fixity AssocLeft-infix_ = fixity AssocNone+infixr_ = fixity assocRight+infixl_ = fixity assocLeft+infix_ = fixity assocNone -- Internal: help function for the above definitions.-fixity :: Assoc -> Int -> [String] -> [Fixity]+fixity :: Assoc () -> Int -> [String] -> [Fixity] fixity a p = map (Fixity a p . op) where- op ('`':xs) = UnQual $ Ident $ init xs- op xs = UnQual $ Symbol xs+ op ('`':xs) = UnQual () $ Ident () $ init xs+ op xs = UnQual () $ Symbol () xs ++ ------------------------------------------------------------------- -- Boilerplate - yuck!! Everything below here is internal stuff instance AppFixity Module where- applyFixities fixs (Module loc n prs mwt ext imp decls) =- liftM (Module loc n prs mwt ext imp) $ appFixDecls fixs decls+ applyFixities fixs (Module l mmh prs imp decls) =+ liftM (Module l mmh prs imp) $ appFixDecls mmn fixs decls+ where mmn = getMmn mmh+ getMmn (Just (ModuleHead _ n _ _)) = Just n+ getMmn _ = Nothing+ applyFixities fixs (XmlPage l mn os xn xas mexp cs) =+ liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)+ where fix xs = mapM (applyFixities fixs) xs+ applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =+ liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls mmn fixs decls)+ (fixe xas) (fixe mexp) (fixe cs)+ where mmn = getMmn mmh+ getMmn (Just (ModuleHead _ n _ _)) = Just n+ getMmn _ = Nothing+ fixe xs = let extraFixs = getFixities mmn decls+ in mapM (applyFixities (fixs++extraFixs)) xs instance AppFixity Decl where applyFixities fixs decl = case decl of- ClassDecl loc ctxt n vars deps cdecls -> liftM (ClassDecl loc ctxt n vars deps) $ mapM fix cdecls- InstDecl loc olp tvs ctxt n ts idecls -> liftM (InstDecl loc olp tvs ctxt n ts) $ mapM fix idecls- SpliceDecl loc spl -> liftM (SpliceDecl loc) $ fix spl- FunBind matches -> liftM FunBind $ mapM fix matches- PatBind loc p rhs bs ->- let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x- in liftM3 (PatBind loc) (extraFix p) (extraFix rhs) (return $ maybe Nothing extraFix bs)- AnnPragma loc ann -> liftM (AnnPragma loc) $ fix ann+ ClassDecl l ctxt dh deps cdecls -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls+ InstDecl l olp ih idecls -> liftM (InstDecl l olp ih) $ mapM (mapM fix) idecls+ SpliceDecl l spl -> liftM (SpliceDecl l) $ fix spl+ FunBind l matches -> liftM (FunBind l) $ mapM fix matches+ PatBind l p rhs bs ->+ let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x+ in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)+ AnnPragma l ann' -> liftM (AnnPragma l) $ fix ann'+ PatSyn l p1 p2 dir -> liftM (PatSyn l p1 p2) (fix dir) _ -> return decl where fix x = applyFixities fixs x -appFixDecls :: Monad m => [Fixity] -> [Decl] -> m [Decl]-appFixDecls fixs decls =- let extraFixs = getFixities decls+instance AppFixity PatternSynDirection where+ applyFixities fixs dir = case dir of+ ExplicitBidirectional l ds -> liftM (ExplicitBidirectional l) (mapM fix ds)+ _ -> return dir+ where fix x = applyFixities fixs x++appFixDecls :: Fail.MonadFail m => Maybe (ModuleName SrcSpanInfo) -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]+appFixDecls mmdl fixs decls =+ let extraFixs = getFixities mmdl decls in mapM (applyFixities (fixs++extraFixs)) decls -getFixities :: [Decl] -> [Fixity]-getFixities = concatMap getFixity- where getFixity (InfixDecl _ a p ops) = map (Fixity a p . g) ops- getFixity (ClassDecl _ _ _ _ _ cds) = concatMap getClassFixity cds- getFixity _ = []- g (VarOp x) = UnQual x- g (ConOp x) = UnQual x- getClassFixity (ClsDecl d) = getFixities [d]- getClassFixity _ = []+getFixities :: Maybe (ModuleName l) -> [Decl l] -> [Fixity]+getFixities mmdl = concatMap (getFixity mmdl) -getBindFixities :: Binds -> [Fixity]+getFixity :: Maybe (ModuleName l) -> Decl l -> [Fixity]+getFixity mmdl d =+ case d of+ InfixDecl _ a mp ops -> let p = fromMaybe 9 mp+ in map (Fixity (scrub a) p) (concatMap g (map scrub ops))+ ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds+ _ -> []+ where g (VarOp _ x) = f x+ g (ConOp _ x) = f x+ f x = case mmdl of+ Nothing -> [UnQual () x]+ Just m -> [Qual () (scrub m) x, UnQual () x]+ getClassFixity (ClsDecl _ cd) = getFixity mmdl cd+ getClassFixity _ = []++scrub :: Functor f => f a -> f ()+scrub f = () <$ f++getBindFixities :: Binds l -> [Fixity] getBindFixities bs = case bs of- BDecls ds -> getFixities ds- _ -> []+ BDecls _ ds -> getFixities Nothing ds+ _ -> [] instance AppFixity Annotation where- applyFixities fixs ann = case ann of- Ann n e -> liftM (Ann n) $ fix e- TypeAnn n e -> liftM (TypeAnn n) $ fix e- ModuleAnn e -> liftM ModuleAnn $ fix e+ applyFixities fixs ann' = case ann' of+ Ann l n e -> liftM (Ann l n) $ fix e+ TypeAnn l n e -> liftM (TypeAnn l n) $ fix e+ ModuleAnn l e -> liftM (ModuleAnn l) $ fix e where fix x = applyFixities fixs x instance AppFixity ClassDecl where- applyFixities fixs (ClsDecl decl) = liftM ClsDecl $ applyFixities fixs decl+ applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl applyFixities _ cdecl = return cdecl instance AppFixity InstDecl where- applyFixities fixs (InsDecl decl) = liftM InsDecl $ applyFixities fixs decl+ applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl applyFixities _ idecl = return idecl instance AppFixity Match where- applyFixities fixs (Match loc n ps mt rhs bs) =- liftM3 (flip (Match loc n) mt) (mapM fix ps) (fix rhs)- (return $ maybe Nothing fix bs)- where fix x = applyFixities fixs' x- fixs' = fixs ++ maybe [] getBindFixities bs+ applyFixities fixs match = case match of+ Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)+ InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)+ where fix bs x = applyFixities fixs' x+ where fixs' = fixs ++ maybe [] getBindFixities bs instance AppFixity Rhs where applyFixities fixs rhs = case rhs of- UnGuardedRhs e -> liftM UnGuardedRhs $ fix e- GuardedRhss grhss -> liftM GuardedRhss $ mapM fix grhss+ UnGuardedRhs l e -> liftM (UnGuardedRhs l) $ fix e+ GuardedRhss l grhss -> liftM (GuardedRhss l) $ mapM fix grhss where fix x = applyFixities fixs x instance AppFixity GuardedRhs where- applyFixities fixs (GuardedRhs loc stmts e) = liftM2 (GuardedRhs loc) (mapM fix stmts) $ fix e+ applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e where fix x = applyFixities fixs x instance AppFixity PatField where- applyFixities fixs (PFieldPat n p) = liftM (PFieldPat n) $ applyFixities fixs p+ applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p applyFixities _ pf = return pf instance AppFixity RPat where applyFixities fixs rp' = case rp' of- RPOp rp op -> liftM (flip RPOp op) (fix rp)- RPEither a b -> liftM2 RPEither (fix a) (fix b)- RPSeq rps -> liftM RPSeq $ mapM fix rps- RPGuard p stmts -> liftM2 RPGuard (fix p) $ mapM fix stmts- RPCAs n rp -> liftM (RPCAs n) $ fix rp- RPAs n rp -> liftM (RPAs n) $ fix rp- RPParen rp -> liftM RPParen $ fix rp- RPPat p -> liftM RPPat $ fix p+ RPOp l rp op -> liftM (flip (RPOp l) op) $ fix rp+ RPEither l a b -> liftM2 (RPEither l) (fix a) (fix b)+ RPSeq l rps -> liftM (RPSeq l) $ mapM fix rps+ RPGuard l p stmts -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts+ RPCAs l n rp -> liftM (RPCAs l n) $ fix rp+ RPAs l n rp -> liftM (RPAs l n) $ fix rp+ RPParen l rp -> liftM (RPParen l) $ fix rp+ RPPat l p -> liftM (RPPat l) $ fix p where fix x = applyFixities fixs x instance AppFixity PXAttr where- applyFixities fixs (PXAttr n p) = liftM (PXAttr n) $ applyFixities fixs p+ applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p instance AppFixity Stmt where applyFixities fixs stmt = case stmt of- Generator loc p e -> liftM2 (Generator loc) (fix p) (fix e)- Qualifier e -> liftM Qualifier $ fix e- LetStmt bs -> liftM LetStmt $ fix bs -- special behavior- RecStmt stmts -> liftM RecStmt $ mapM fix stmts+ Generator l p e -> liftM2 (Generator l) (fix p) (fix e)+ Qualifier l e -> liftM (Qualifier l) $ fix e+ LetStmt l bs -> liftM (LetStmt l) $ fix bs -- special behavior+ RecStmt l stmts -> liftM (RecStmt l) $ mapM fix stmts where fix x = applyFixities fixs x instance AppFixity Binds where applyFixities fixs bs = case bs of- BDecls decls -> liftM BDecls $ appFixDecls fixs decls -- special behavior- IPBinds ips -> liftM IPBinds $ mapM fix ips+ BDecls l decls -> liftM (BDecls l) $ appFixDecls Nothing fixs decls -- special behavior+ IPBinds l ips -> liftM (IPBinds l) $ mapM fix ips where fix x = applyFixities fixs x instance AppFixity IPBind where- applyFixities fixs (IPBind loc n e) = liftM (IPBind loc n) $ applyFixities fixs e+ applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e instance AppFixity FieldUpdate where- applyFixities fixs (FieldUpdate n e) = liftM (FieldUpdate n) $ applyFixities fixs e+ applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e applyFixities _ fup = return fup instance AppFixity Alt where- applyFixities fixs (Alt loc p galts bs) =- liftM3 (Alt loc) (fix p) (fix galts) (return $ maybe Nothing fix bs)+ applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs) where fix x = applyFixities fixs x instance AppFixity QualStmt where applyFixities fixs qstmt = case qstmt of- QualStmt s -> liftM QualStmt $ fix s- ThenTrans e -> liftM ThenTrans $ fix e- ThenBy e1 e2 -> liftM2 ThenBy (fix e1) (fix e2)- GroupBy e -> liftM GroupBy (fix e)- GroupUsing e -> liftM GroupUsing (fix e)- GroupByUsing e1 e2 -> liftM2 GroupByUsing (fix e1) (fix e2)+ QualStmt l s -> liftM (QualStmt l) $ fix s+ ThenTrans l e -> liftM (ThenTrans l) $ fix e+ ThenBy l e1 e2 -> liftM2 (ThenBy l) (fix e1) (fix e2)+ GroupBy l e -> liftM (GroupBy l) (fix e)+ GroupUsing l e -> liftM (GroupUsing l) (fix e)+ GroupByUsing l e1 e2 -> liftM2 (GroupByUsing l) (fix e1) (fix e2) where fix x = applyFixities fixs x instance AppFixity Bracket where applyFixities fixs br = case br of- ExpBracket e -> liftM ExpBracket $ fix e- PatBracket p -> liftM PatBracket $ fix p- DeclBracket ds -> liftM DeclBracket $ mapM fix ds- _ -> return br+ ExpBracket l e -> liftM (ExpBracket l) $ fix e+ PatBracket l p -> liftM (PatBracket l) $ fix p+ DeclBracket l ds -> liftM (DeclBracket l) $ mapM fix ds+ _ -> return br where fix x = applyFixities fixs x instance AppFixity Splice where- applyFixities fixs (ParenSplice e) = liftM ParenSplice $ applyFixities fixs e+ applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e applyFixities _ s = return s instance AppFixity XAttr where- applyFixities fixs (XAttr n e) = liftM (XAttr n) $ applyFixities fixs e+ applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e -- the boring boilerplate stuff for expressions too -- Recursively fixes the "leaves" of the infix chains, -- without yet touching the chain itself. We assume all chains are -- left-associate to begin with.-leafFix :: Monad m => [Fixity] -> Exp -> m Exp+leafFix :: Fail.MonadFail m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo) leafFix fixs e' = case e' of- InfixApp e1 op e2 -> liftM2 (flip InfixApp op) (leafFix fixs e1) (fix e2)- App e1 e2 -> liftM2 App (fix e1) (fix e2)- NegApp e -> liftM NegApp $ fix e- Lambda loc pats e -> liftM2 (Lambda loc) (mapM fix pats) $ fix e- Let bs e ->- let extraFix x = applyFixities (fixs++getBindFixities bs) x- in liftM2 Let (extraFix bs) $ extraFix e- If e a b -> liftM3 If (fix e) (fix a) (fix b)- MultiIf alts -> liftM MultiIf (mapM fix alts)- Case e alts -> liftM2 Case (fix e) $ mapM fix alts- Do stmts -> liftM Do $ mapM fix stmts- MDo stmts -> liftM MDo $ mapM fix stmts- Tuple bx exps -> liftM (Tuple bx) $ mapM fix exps- List exps -> liftM List $ mapM fix exps- ParArray exps -> liftM ParArray $ mapM fix exps- Paren e -> liftM Paren $ fix e- LeftSection e op -> liftM (flip LeftSection op) (fix e)- RightSection op e -> liftM (RightSection op) $ fix e- RecConstr n fups -> liftM (RecConstr n) $ mapM fix fups- RecUpdate e fups -> liftM2 RecUpdate (fix e) $ mapM fix fups- EnumFrom e -> liftM EnumFrom $ fix e- EnumFromTo e1 e2 -> liftM2 EnumFromTo (fix e1) (fix e2)- EnumFromThen e1 e2 -> liftM2 EnumFromThen (fix e1) (fix e2)- EnumFromThenTo e1 e2 e3 -> liftM3 EnumFromThenTo (fix e1) (fix e2) (fix e3)- ParArrayFromTo e1 e2 -> liftM2 ParArrayFromTo (fix e1) (fix e2)- ParArrayFromThenTo e1 e2 e3 -> liftM3 ParArrayFromThenTo (fix e1) (fix e2) (fix e3)- ListComp e quals -> liftM2 ListComp (fix e) $ mapM fix quals- ParComp e qualss -> liftM2 ParComp (fix e) $ mapM (mapM fix) qualss- ParArrayComp e qualss -> liftM2 ParArrayComp (fix e) $ mapM (mapM fix) qualss- ExpTypeSig loc e t -> liftM (flip (ExpTypeSig loc) t) (fix e)- BracketExp b -> liftM BracketExp $ fix b- SpliceExp s -> liftM SpliceExp $ fix s- XTag loc n ats mexp cs -> liftM3 (XTag loc n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)- XETag loc n ats mexp -> liftM2 (XETag loc n) (mapM fix ats) (mapM fix mexp)- XExpTag e -> liftM XExpTag $ fix e- XChildTag loc cs -> liftM (XChildTag loc) $ mapM fix cs- Proc loc p e -> liftM2 (Proc loc) (fix p) (fix e)- LeftArrApp e1 e2 -> liftM2 LeftArrApp (fix e1) (fix e2)- RightArrApp e1 e2 -> liftM2 RightArrApp (fix e1) (fix e2)- LeftArrHighApp e1 e2 -> liftM2 LeftArrHighApp (fix e1) (fix e2)- RightArrHighApp e1 e2 -> liftM2 RightArrHighApp (fix e1) (fix e2)- CorePragma s e -> liftM (CorePragma s) (fix e)- SCCPragma s e -> liftM (SCCPragma s) (fix e)- GenPragma s ab cd e -> liftM (GenPragma s ab cd) (fix e)- LCase alts -> liftM LCase $ mapM fix alts+ InfixApp l e1 op e2 -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2)+ App l e1 e2 -> liftM2 (App l) (fix e1) (fix e2)+ NegApp l e -> liftM (NegApp l) $ fix e+ Lambda l pats e -> liftM2 (Lambda l) (mapM fix pats) $ fix e+ Let l bs e ->+ let extraFix x = applyFixities (fixs ++ getBindFixities bs) x+ in liftM2 (Let l) (extraFix bs) $ extraFix e+ If l e a b -> liftM3 (If l) (fix e) (fix a) (fix b)+ MultiIf l alts -> liftM (MultiIf l) (mapM fix alts)+ Case l e alts -> liftM2 (Case l) (fix e) $ mapM fix alts+ Do l stmts -> liftM (Do l) $ mapM fix stmts+ MDo l stmts -> liftM (MDo l) $ mapM fix stmts+ Tuple l bx exps -> liftM (Tuple l bx) $ mapM fix exps+ List l exps -> liftM (List l) $ mapM fix exps+ Paren l e -> liftM (Paren l) $ fix e+ LeftSection l e op -> liftM (flip (LeftSection l) op) (fix e)+ RightSection l op e -> liftM (RightSection l op) $ fix e+ RecConstr l n fups -> liftM (RecConstr l n) $ mapM fix fups+ RecUpdate l e fups -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups+ EnumFrom l e -> liftM (EnumFrom l) $ fix e+ EnumFromTo l e1 e2 -> liftM2 (EnumFromTo l) (fix e1) (fix e2)+ EnumFromThen l e1 e2 -> liftM2 (EnumFromThen l) (fix e1) (fix e2)+ EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)+ ListComp l e quals -> liftM2 (ListComp l) (fix e) $ mapM fix quals+ ParComp l e qualss -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss+ ExpTypeSig l e t -> liftM (flip (ExpTypeSig l) t) (fix e)+ BracketExp l b -> liftM (BracketExp l) $ fix b+ SpliceExp l s -> liftM (SpliceExp l) $ fix s+ XTag l n ats mexp cs -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)+ XETag l n ats mexp -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)+ XExpTag l e -> liftM (XExpTag l) $ fix e+ XChildTag l cs -> liftM (XChildTag l) $ mapM fix cs+ Proc l p e -> liftM2 (Proc l) (fix p) (fix e)+ LeftArrApp l e1 e2 -> liftM2 (LeftArrApp l) (fix e1) (fix e2)+ RightArrApp l e1 e2 -> liftM2 (RightArrApp l) (fix e1) (fix e2)+ LeftArrHighApp l e1 e2 -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)+ RightArrHighApp l e1 e2 -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)+ CorePragma l s e -> liftM (CorePragma l s) (fix e)+ SCCPragma l s e -> liftM (SCCPragma l s) (fix e)+ GenPragma l s ab cd e -> liftM (GenPragma l s ab cd) (fix e)+ LCase l alts -> liftM (LCase l) $ mapM fix alts - _ -> return e'+ _ -> return e' where fix x = applyFixities fixs x -leafFixP :: Monad m => [Fixity] -> Pat -> m Pat+leafFixP :: Fail.MonadFail m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo) leafFixP fixs p' = case p' of- PInfixApp p1 op p2 -> liftM2 (flip PInfixApp op) (leafFixP fixs p1) (fix p2)- PApp n ps -> liftM (PApp n) $ mapM fix ps- PTuple bx ps -> liftM (PTuple bx) $ mapM fix ps- PList ps -> liftM PList $ mapM fix ps- PParen p -> liftM PParen $ fix p- PRec n pfs -> liftM (PRec n) $ mapM fix pfs- PAsPat n p -> liftM (PAsPat n) $ fix p- PIrrPat p -> liftM PIrrPat $ fix p- PatTypeSig loc p t -> liftM (flip (PatTypeSig loc) t) (fix p)- PViewPat e p -> liftM2 PViewPat (fix e) (fix p)- PRPat rps -> liftM PRPat $ mapM fix rps- PXTag loc n ats mp ps -> liftM3 (PXTag loc n) (mapM fix ats) (mapM fix mp) (mapM fix ps)- PXETag loc n ats mp -> liftM2 (PXETag loc n) (mapM fix ats) (mapM fix mp)- PXPatTag p -> liftM PXPatTag $ fix p- PXRPats rps -> liftM PXRPats $ mapM fix rps- PBangPat p -> liftM PBangPat $ fix p- _ -> return p'+ PInfixApp l p1 op p2 -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2)+ PApp l n ps -> liftM (PApp l n) $ mapM fix ps+ PTuple l bx ps -> liftM (PTuple l bx) $ mapM fix ps+ PList l ps -> liftM (PList l) $ mapM fix ps+ PParen l p -> liftM (PParen l) $ fix p+ PRec l n pfs -> liftM (PRec l n) $ mapM fix pfs+ PAsPat l n p -> liftM (PAsPat l n) $ fix p+ PIrrPat l p -> liftM (PIrrPat l) $ fix p+ PatTypeSig l p t -> liftM (flip (PatTypeSig l) t) (fix p)+ PViewPat l e p -> liftM2 (PViewPat l) (fix e) (fix p)+ PRPat l rps -> liftM (PRPat l) $ mapM fix rps+ PXTag l n ats mp ps -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)+ PXETag l n ats mp -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)+ PXPatTag l p -> liftM (PXPatTag l) $ fix p+ PXRPats l rps -> liftM (PXRPats l) $ mapM fix rps+ PBangPat l p -> liftM (PBangPat l) $ fix p+ _ -> return p' where fix x = applyFixities fixs x
src/Language/Haskell/Exts/InternalLexer.hs view
@@ -1,4 +1,7 @@+{-# LANGUAGE Safe #-}+{-# LANGUAGE BangPatterns #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Annotated.InternalLexer@@ -36,6 +39,7 @@ data Token = VarId String+ | LabelVarId String | QVarId (String,String) | IDupVarId (String) -- duplicable implicit parameter | ILinVarId (String) -- linear implicit parameter@@ -88,6 +92,7 @@ | LeftArrow | RightArrow | At+ | TApp -- '@' but have to check for preceeding whitespace | Tilde | DoubleArrow | Minus@@ -97,15 +102,21 @@ | RightArrowTail -- >- | LeftDblArrowTail -- -<< | RightDblArrowTail -- >>-+ | OpenArrowBracket -- (|+ | CloseArrowBracket -- |) -- Template Haskell | THExpQuote -- [| or [e|+ | THTExpQuote -- [|| or [e|| | THPatQuote -- [p| | THDecQuote -- [d| | THTypQuote -- [t| | THCloseQuote -- |]+ | THTCloseQuote -- ||] | THIdEscape (String) -- dollar x | THParenEscape -- dollar (+ | THTIdEscape String -- dollar dollar x+ | THTParenEscape -- double dollar ( | THVarQuote -- 'x (but without the x) | THTyQuote -- ''T (but without the T) | THQuasiQuote (String,String) -- [$...|...]@@ -142,6 +153,7 @@ | GENERATED | CORE | UNPACK+ | NOUNPACK | OPTIONS (Maybe String,String) -- | CFILES String -- | INCLUDE String@@ -150,7 +162,11 @@ | MINIMAL | NO_OVERLAP | OVERLAP+ | OVERLAPPING+ | OVERLAPPABLE+ | OVERLAPS | INCOHERENT+ | COMPLETE -- Reserved Ids @@ -188,6 +204,9 @@ | KW_Where | KW_Qualified | KW_Pattern+ | KW_Stock+ | KW_Anyclass+ | KW_Via -- FFI | KW_Foreign@@ -286,6 +305,9 @@ ( "where", (KW_Where, Nothing) ), ( "role", (KW_Role, Just (Any [RoleAnnotations]))), ( "pattern", (KW_Pattern, Just (Any [PatternSynonyms]))),+ ( "stock", (KW_Stock, Just (Any [DerivingStrategies]))),+ ( "anyclass", (KW_Anyclass, Just (Any [DerivingStrategies]))),+ ( "via", (KW_Via, Just (Any [DerivingVia]))), -- FFI ( "foreign", (KW_Foreign, Just (Any [ForeignFunctionInterface])) )@@ -330,11 +352,16 @@ ( "generated", GENERATED ), ( "core", CORE ), ( "unpack", UNPACK ),+ ( "nounpack", NOUNPACK ), ( "language", LANGUAGE ), ( "minimal", MINIMAL ), ( "no_overlap", NO_OVERLAP ), ( "overlap", OVERLAP ),+ ( "overlaps", OVERLAPS ),+ ( "overlapping", OVERLAPPING ),+ ( "overlappable", OVERLAPPABLE ), ( "incoherent", INCOHERENT ),+ ( "complete", COMPLETE ), ( "options", OPTIONS undefined ) -- we'll tweak it before use - promise! -- ( "cfiles", CFILES undefined ), -- same here... -- ( "include", INCLUDE undefined ) -- ...and here!@@ -347,6 +374,17 @@ isPragmaChar c = isAlphaNum c || c == '_' +isIdentStart :: Char -> Bool+isIdentStart c = isAlpha c && not (isUpper c) || c == '_'+++-- Used in the lexing of type applications+-- Why is it like this? I don't know exactly but this is how it is in+-- GHC's parser.+-- Symbol `:` is added so that `@:` is lexed as `VarSym "@:"`. See Issue #326+isOpSymbol :: Char -> Bool+isOpSymbol c = c `elem` ":!#$%&*+./<=>?@\\^|-~"+ -- | Checks whether the character would be legal in some position of a qvar. -- Means that '..' and "AAA" will pass the test. isPossiblyQvar :: Char -> Bool@@ -641,31 +679,39 @@ return (con (n, '0':c:str)) -- implicit parameters- '?':c:_ | isLower c && ImplicitParams `elem` exts -> do+ '?':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do discard 1 id <- lexWhile isIdent return $ IDupVarId id - '%':c:_ | isLower c && ImplicitParams `elem` exts -> do+ '%':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do discard 1 id <- lexWhile isIdent return $ ILinVarId id -- end implicit parameters -- harp--- '(':'|':c:_ | isHSymbol c -> discard 1 >> return LeftParen '(':'|':c:_ | RegularPatterns `elem` exts && not (isHSymbol c) ->- do discard 2- return RPGuardOpen- '|':')':_ | RegularPatterns `elem` exts ->- do discard 2- return RPGuardClose+ discard 2 >> return RPGuardOpen+ | Arrows `elem` exts && not (isHSymbol c) ->+ discard 2 >> return OpenArrowBracket+ '|':')':_ | RegularPatterns `elem` exts -> discard 2 >> return RPGuardClose+ | Arrows `elem` exts -> discard 2 >> return CloseArrowBracket {- This is handled by the reserved_ops above. '@':':':_ | RegularPatterns `elem` exts -> do discard 2 return RPCAt -} + -- template haskell+ '[':'|':'|':_ | TemplateHaskell `elem` exts -> do+ discard 3+ return THTExpQuote++ '[':'e':'|':'|':_ | TemplateHaskell `elem` exts -> do+ discard 4+ return THTExpQuote+ '[':'|':_ | TemplateHaskell `elem` exts -> do discard 2 return THExpQuote@@ -682,25 +728,35 @@ | c == 't' && TemplateHaskell `elem` exts -> do discard 3 return THTypQuote- '[':'$':c:_ | isLower c && QuasiQuotes `elem` exts ->+ '[':'$':c:_ | isIdentStart c && QuasiQuotes `elem` exts -> discard 2 >> lexQuasiQuote c - '[':c:s' | isLower c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->+ '[':c:s' | isIdentStart c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} -> discard 1 >> lexQuasiQuote c | isUpper c && QuasiQuotes `elem` exts && case dropWhile isPossiblyQvar s' of { '|':_ -> True;_->False} -> discard 1 >> lexQuasiQuote c + '|':'|':']':_ | TemplateHaskell `elem` exts -> do+ discard 3+ return THTCloseQuote '|':']':_ | TemplateHaskell `elem` exts -> do discard 2 return THCloseQuote - '$':c:_ | isLower c && TemplateHaskell `elem` exts -> do+ '$':c1:c2:_ | isIdentStart c1 && TemplateHaskell `elem` exts -> do discard 1 id <- lexWhile isIdent return $ THIdEscape id- | c == '(' && TemplateHaskell `elem` exts -> do+ | c1 == '(' && TemplateHaskell `elem` exts -> do discard 2 return THParenEscape+ | c1 == '$' && isIdentStart c2 && TemplateHaskell `elem` exts -> do+ discard 2+ id <- lexWhile isIdent+ return $ THTIdEscape id+ | c1 == '$' && c2 == '(' && TemplateHaskell `elem` exts -> do+ discard 3+ return THTParenEscape -- end template haskell -- hsx@@ -718,9 +774,9 @@ return XStdTagOpen -- end hsx - '(':'#':c:_ | UnboxedTuples `elem` exts && not (isHSymbol c) -> discard 2 >> return LeftHashParen+ '(':'#':c:_ | unboxed exts && not (isHSymbol c) -> discard 2 >> return LeftHashParen - '#':')':_ | UnboxedTuples `elem` exts -> discard 2 >> return RightHashParen+ '#':')':_ | unboxed exts -> discard 2 >> return RightHashParen -- pragmas @@ -734,11 +790,28 @@ ':':']':_ | ParallelArrays `elem` exts -> discard 2 >> return ParArrayRightSquare + -- Lexed seperately to deal with visible type applciation++ '@':c:_ | TypeApplications `elem` exts+ -- Operator starting with an '@'+ && not (isOpSymbol c) -> do+ lc <- getLastChar+ if isIdent lc+ then discard 1 >> return At+ else discard 1 >> return TApp++ '#':c:_ | OverloadedLabels `elem` exts+ && isIdentStart c -> do+ discard 1+ [ident] <- lexIdents+ return $ LabelVarId ident++ c:_ | isDigit c -> lexDecimalOrFloat | isUpper c -> lexConIdOrQual "" - | isLower c || c == '_' -> do+ | isIdentStart c -> do idents <- lexIdents case idents of [ident] -> case lookup ident (reserved_ids ++ special_varids) of@@ -801,8 +874,8 @@ idents <- lexIdents return $ ident : idents '#':_ | MagicHash `elem` exts -> do- discard 1- return [ident ++ "#"]+ hashes <- lexWhile (== '#')+ return [ident ++ hashes] _ -> return [ident] lexQuasiQuote :: Char -> Lex a Token@@ -813,7 +886,7 @@ body <- lexQQBody return $ THQuasiQuote (ident, body) where lexQuoter- | isLower c = lexWhile isIdent+ | isIdentStart c = lexWhile isIdent | otherwise = do qualThing <- lexConIdOrQual "" case qualThing of@@ -849,6 +922,9 @@ rest <- lexQQBody return (str++rest) +unboxed :: [KnownExtension] -> Bool+unboxed exts = UnboxedSums `elem` exts || UnboxedTuples `elem` exts+ -- Underscores are used in some pragmas. Options pragmas are a special case -- with our representation: the thing after the underscore is a parameter. -- Strip off the parameters to option pragmas by hand here, everything else@@ -1007,7 +1083,7 @@ exts <- getExtensionsL case rest of '.':c:_- | isLower c || c == '_' -> do -- qualified varid?+ | isIdentStart c -> do -- qualified varid? discard 1 ident <- lexWhile isIdent s <- getInput@@ -1071,23 +1147,23 @@ lexString :: Lex a Token-lexString = loop ("","")+lexString = loop [] [] where- loop (s,raw) = do+ loop !s !raw = do r <- getInput exts <- getExtensionsL case r of '\\':'&':_ -> do discard 2- loop (s, '&':'\\':raw)+ loop s ('&':'\\':raw) '\\':c:_ | isSpace c -> do discard 1 wcs <- lexWhiteChars matchChar '\\' "Illegal character in string gap"- loop (s, '\\':reverse wcs ++ '\\':raw)+ loop s ('\\':revAppend wcs ('\\':raw)) | otherwise -> do (ce, str) <- lexEscape- loop (ce:s, reverse str ++ '\\':raw)+ loop (ce `seq` ce : s) (revAppend str ('\\':raw)) '"':'#':_ | MagicHash `elem` exts -> do discard 2 return (StringHash (reverse s, reverse raw))@@ -1096,9 +1172,13 @@ return (StringTok (reverse s, reverse raw)) c:_ | c /= '\n' -> do discard 1- loop (c:s, c:raw)+ loop (c:s) (c:raw) _ -> fail "Improperly terminated string" + revAppend :: [a] -> [a] -> [a]+ revAppend [] ys = ys+ revAppend (x:xs) ys = revAppend xs (x:ys)+ lexWhiteChars :: Lex a String lexWhiteChars = do s <- getInput@@ -1229,8 +1309,10 @@ -- Stolen from Hugs's Prelude parseInteger :: Integer -> String -> Integer-parseInteger radix ds =- foldl1 (\n d -> n * radix + d) (map (toInteger . digitToInt) ds)+parseInteger radix = go 0+ where+ go !acc [] = acc+ go !acc (d:ds) = go (acc * radix + toInteger (digitToInt d)) ds flagKW :: Token -> Lex a () flagKW t =@@ -1247,6 +1329,7 @@ showToken :: Token -> String showToken t = case t of VarId s -> s+ LabelVarId s -> '#':s QVarId (q,s) -> q ++ '.':s IDupVarId s -> '?':s ILinVarId s -> '%':s@@ -1293,6 +1376,7 @@ LeftArrow -> "<-" RightArrow -> "->" At -> "@"+ TApp -> "@" Tilde -> "~" DoubleArrow -> "=>" Minus -> "-"@@ -1302,13 +1386,19 @@ RightArrowTail -> ">-" LeftDblArrowTail -> "-<<" RightDblArrowTail -> ">>-"+ OpenArrowBracket -> "(|"+ CloseArrowBracket -> "|)" THExpQuote -> "[|"+ THTExpQuote -> "[||" THPatQuote -> "[p|" THDecQuote -> "[d|" THTypQuote -> "[t|" THCloseQuote -> "|]"+ THTCloseQuote -> "||]" THIdEscape s -> '$':s THParenEscape -> "$("+ THTIdEscape s -> "$$" ++ s+ THTParenEscape -> "$$(" THVarQuote -> "'" THTyQuote -> "''" THQuasiQuote (n,q) -> "[$" ++ n ++ "|" ++ q ++ "]"@@ -1337,6 +1427,7 @@ GENERATED -> "{-# GENERATED" CORE -> "{-# CORE" UNPACK -> "{-# UNPACK"+ NOUNPACK -> "{-# NOUNPACK" OPTIONS (mt,_) -> "{-# OPTIONS" ++ maybe "" (':':) mt ++ " ..." -- CFILES s -> "{-# CFILES ..." -- INCLUDE s -> "{-# INCLUDE ..."@@ -1345,7 +1436,11 @@ MINIMAL -> "{-# MINIMAL" NO_OVERLAP -> "{-# NO_OVERLAP" OVERLAP -> "{-# OVERLAP"+ OVERLAPPING -> "{-# OVERLAPPING"+ OVERLAPPABLE -> "{-# OVERLAPPABLE"+ OVERLAPS -> "{-# OVERLAPS" INCOHERENT -> "{-# INCOHERENT"+ COMPLETE -> "{-# COMPLETE" KW_As -> "as" KW_By -> "by" KW_Case -> "case"@@ -1395,5 +1490,8 @@ KW_CApi -> "capi" KW_Role -> "role" KW_Pattern -> "pattern"+ KW_Stock -> "stock"+ KW_Anyclass -> "anyclass"+ KW_Via -> "via" EOF -> "EOF"
src/Language/Haskell/Exts/InternalParser.ly view
@@ -1,5 +1,7 @@ > {+> {-# LANGUAGE CPP #-} > {-# OPTIONS_HADDOCK hide #-}+> > ----------------------------------------------------------------------------- > -- | > -- Module : Language.Haskell.Exts.Annotated.Parser@@ -28,18 +30,21 @@ > ngparsePragmasAndModuleName > ) where >-> import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-> import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )+> import Language.Haskell.Exts.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )+> import Language.Haskell.Exts.Syntax ( Type, Exp, Asst ) > import Language.Haskell.Exts.ParseMonad > import Language.Haskell.Exts.InternalLexer > import Language.Haskell.Exts.ParseUtils-> import Language.Haskell.Exts.Annotated.Fixity+> import Language.Haskell.Exts.Fixity > import Language.Haskell.Exts.SrcLoc > import Language.Haskell.Exts.Extension > import Control.Monad ( liftM, (<=<), when ) > import Control.Applicative ( (<$>) ) > import Data.Maybe+> #if MIN_VERSION_base(4,11,0)+> import Prelude hiding ((<>))+> #endif import Debug.Trace (trace) > }@@ -90,18 +95,19 @@ might be the start of the declaration with the activation being empty. Resolving with shift means the declaration cannot start with '['. -1 for ambiguity in '{-# RULES "name" forall = ... #-}' [State 544]- since 'forall' is a valid variable name, we don't know whether- to treat a forall on the input as the beginning of a quantifier- or the beginning of the rule itself. Resolving to shift means- it's always treated as a quantifier, hence the above is disallowed.- This saves explicitly defining a grammar for the rule lhs that- doesn't include 'forall'.+1 for ambiguity in '{-# RULES "name" forall = ... #-}' [State 544]+ since 'forall' is a valid variable name, we don't know whether+ to treat a forall on the input as the beginning of a quantifier+ or the beginning of the rule itself. Resolving to shift means+ it's always treated as a quantifier, hence the above is disallowed.+ This saves explicitly defining a grammar for the rule lhs that+ doesn't include 'forall'. ----------------------------------------------------------------------------- > %token > VARID { Loc _ (VarId _) } -- 1+> LABELVARID { Loc _ (LabelVarId _) } > QVARID { Loc _ (QVarId _) } > IDUPID { Loc _ (IDupVarId _) } -- duplicable implicit parameter ?x > ILINID { Loc _ (ILinVarId _) } -- linear implicit parameter %x@@ -154,6 +160,7 @@ > '<-' { Loc $$ LeftArrow } > '->' { Loc $$ RightArrow } > '@' { Loc $$ At }+> TYPEAPP { Loc $$ TApp } > '~' { Loc $$ Tilde } > '=>' { Loc $$ DoubleArrow } > '-' { Loc $$ Minus }@@ -166,22 +173,28 @@ > '>-' { Loc $$ RightArrowTail } > '-<<' { Loc $$ LeftDblArrowTail } > '>>-' { Loc $$ RightDblArrowTail }+> '(|' { Loc $$ OpenArrowBracket }+> '|)' { Loc $$ CloseArrowBracket } Harp -> '(|' { Loc $$ RPGuardOpen }-> '|)' { Loc $$ RPGuardClose }+> '(/' { Loc $$ RPGuardOpen }+> '/)' { Loc $$ RPGuardClose } > '@:' { Loc $$ RPCAt } Template Haskell > IDSPLICE { Loc _ (THIdEscape _) } -- $x+> TIDSPLICE { Loc _ (THTIdEscape _) } -- $$x > '$(' { Loc $$ THParenEscape } -- 60+> '$$(' { Loc $$ THTParenEscape } > '[|' { Loc $$ THExpQuote }+> '[||' { Loc $$ THTExpQuote } > '[p|' { Loc $$ THPatQuote } > '[t|' { Loc $$ THTypQuote } > '[d|' { Loc $$ THDecQuote } > '|]' { Loc $$ THCloseQuote }+> '||]' { Loc $$ THTCloseQuote } > VARQUOTE { Loc $$ THVarQuote } -- 'x > TYPQUOTE { Loc $$ THTyQuote } -- ''T > QUASIQUOTE { Loc _ (THQuasiQuote _) }@@ -252,6 +265,9 @@ > 'qualified' { Loc $$ KW_Qualified } > 'role' { Loc $$ KW_Role } > 'pattern' { Loc $$ KW_Pattern }+> 'stock' { Loc $$ KW_Stock } -- for DerivingStrategies extension+> 'anyclass' { Loc $$ KW_Anyclass } -- for DerivingStrategies extension+> 'via' { Loc $$ KW_Via } -- for DerivingStrategies extension Pragmas @@ -267,6 +283,7 @@ > '{-# DEPRECATED' { Loc $$ DEPRECATED } > '{-# WARNING' { Loc $$ WARNING } > '{-# UNPACK' { Loc $$ UNPACK }+> '{-# NOUNPACK' { Loc $$ NOUNPACK } > '{-# OPTIONS' { Loc _ (OPTIONS _) } '{-# CFILES' { Loc _ (CFILES _) } '{-# INCLUDE' { Loc _ (INCLUDE _) }@@ -275,10 +292,17 @@ > '{-# MINIMAL' { Loc $$ MINIMAL } > '{-# NO_OVERLAP' { Loc $$ NO_OVERLAP } > '{-# OVERLAP' { Loc $$ OVERLAP }+> '{-# OVERLAPS' { Loc $$ OVERLAPS }+> '{-# OVERLAPPING' { Loc $$ OVERLAPPING }+> '{-# OVERLAPPABLE' { Loc $$ OVERLAPPABLE } > '{-# INCOHERENT' { Loc $$ INCOHERENT }+> '{-# COMPLETE' { Loc $$ COMPLETE } > '#-}' { Loc $$ PragmaEnd } -- 139 +Utility +> NEVER { Loc $$@SrcSpan{srcSpanStartLine= -1} _ } -- never-matching terminal of type SrcSpan+ > %monad { P } > %lexer { lexer } { Loc _ EOF } > %error { parseError }@@ -294,7 +318,7 @@ > %partial ngparsePragmasAndModuleHead moduletophead > %partial ngparsePragmasAndModuleName moduletopname > %tokentype { Loc Token }-> %expect 8+> %expect 13 > %% -----------------------------------------------------------------------------@@ -414,18 +438,25 @@ > | 'type' qcname {% do { checkEnabled ExplicitNamespaces; > return (EAbs (nIS $1 <++> ann $2 <** [$1, srcInfoSpan (ann $2)]) (TypeNamespace (nIS $1 <** [$1])) $2) } } > | qtyconorcls { EAbs (ann $1) (NoNamespace (ann $1)) $1 }-> | qtyconorcls '(' '..' ')' { EThingAll (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }-> | qtyconorcls '(' ')' { EThingWith (ann $1 <++> nIS $3 <** [$2,$3]) $1 [] }-> | qtyconorcls '(' cnames ')' { EThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }+> | qtyconorcls '(' ')' { EThingWith (ann $1 <++> nIS $3 <** [$2,$3]) (NoWildcard noSrcSpan) $1 [] }+> | qtyconorcls '(' export_names ')' {% mkEThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse $ fst $3) } > | 'module' modid { EModuleContents (nIS $1 <++> ann $2 <** [$1]) $2 } > | 'pattern' qcon {% do { checkEnabled PatternSynonyms; > return $ EAbs (nIS $1 <++> (ann $2) <** [$1]) > (PatternNamespace (nIS $1)) $2 }} +> export_names :: { ([Either S (CName L)],[S]) }+> : export_names ',' cname_w_wildcard { ($3 : fst $1, $2 : snd $1) }+> | cname_w_wildcard { ([$1],[]) }++> cname_w_wildcard :: { Either S (CName L) }+> : '..' { Left $1 }+> | cname { Right $1 }+ > > qcname :: { QName L } > : qvar { $1 }-> | qconid { $1 }+> | qcon { $1 } ----------------------------------------------------------------------------- Import Declarations@@ -435,10 +466,10 @@ > | impdecl { ([$1],[]) } > impdecl :: { ImportDecl L }-> : 'import' optsrc optsafe optqualified maybepkg modid maybeas maybeimpspec-> { let { (mmn,ss,ml) = $7 ;-> l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $8 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ ss)}-> in ImportDecl l $6 (fst $4) (fst $2) (fst $3) (fst $5) mmn $8 }+> : 'import' optsrc optsafe optqualified maybepkg modid optqualified_post maybeas maybeimpspec+> { let { (mmn,ss,ml) = $8 ;+> l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $9 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ snd $7 ++ ss)}+> in ImportDecl l $6 (fst $4 || fst $7) (fst $2) (fst $3) (fst $5) mmn $9 } > optsrc :: { (Bool,[S]) } > : '{-# SOURCE' '#-}' { (True,[$1,$2]) }@@ -453,6 +484,11 @@ > : 'qualified' { (True,[$1]) } > | {- empty -} { (False, []) } +> optqualified_post :: { (Bool,[S]) }+> : 'qualified' {% do { checkEnabled ImportQualifiedPost;+> return (True,[$1]) } }+> | {- empty -} { (False, []) }+ Requires the PackageImports extension enabled. > maybepkg :: { (Maybe String,[S]) } > : STRING {% do { checkEnabled PackageImports ;@@ -493,10 +529,10 @@ > | tyconorcls { IAbs (ann $1) (NoNamespace (ann $1)) $1 } > | tyconorcls '(' '..' ')' { IThingAll (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 } > | tyconorcls '(' ')' { IThingWith (ann $1 <++> nIS $3 <** [$2,$3]) $1 [] }-> | tyconorcls '(' cnames ')' { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }+> | tyconorcls '(' import_names ')' { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) } -> cnames :: { ([CName L],[S]) }-> : cnames ',' cname { ($3 : fst $1, $2 : snd $1) }+> import_names :: { ([CName L],[S]) }+> : import_names ',' cname { ($3 : fst $1, $2 : snd $1) } > | cname { ([$1],[]) } > cname :: { CName L }@@ -523,6 +559,20 @@ > : ops ',' op { let (ops,ss,l) = $1 in ($3 : ops, $2 : ss, l <++> ann $3) } > | op { ([$1],[],ann $1) } ++> opt_injectivity_info :: { Maybe (InjectivityInfo L) }+> : {- empty -} { Nothing }+> | injectivity_info { Just $1 }++> injectivity_info :: { InjectivityInfo L }+> : '|' tyvarid '->' inj_varids+> { InjectivityInfo (nIS $1 <++> ann (last $4) <** [$1,$3]) $2 (reverse $4) }+>+>+> inj_varids :: { [Name L] }+> : inj_varids tyvarid { $2 : $1 }+> | tyvarid { [$1] }+ ----------------------------------------------------------------------------- Top-Level Declarations @@ -545,12 +595,12 @@ Requires the TypeFamilies extension enabled, but the lexer will handle that through the 'family' keyword.-> | 'type' 'family' type optkind where_type_family+> | 'type' 'family' type opt_tyfam_kind_sig opt_injectivity_info where_type_family > {% do { dh <- checkSimpleType $3;-> let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};-> case $5 of {-> Nothing -> return (TypeFamDecl l dh (fst $4));-> Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh (fst $4) x); }}}+> let {l = nIS $1 <++> ann $3 <** [$1,$2]};+> case $6 of {+> Nothing -> return (TypeFamDecl l dh $4 $5);+> Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh $4 $5 x); }}} Here there is no special keyword so we must do the check. > | 'type' 'instance' truedtype '=' truectype@@ -558,46 +608,48 @@ > checkEnabled TypeFamilies ; > let {l = nIS $1 <++> ann $5 <** [$1,$2,$4]}; > return (TypeInsDecl l $3 $5) } }-> | data_or_newtype ctype constrs0 deriving+> | data_or_newtype ctype constrs0 maybe_derivings > {% do { (cs,dh) <- checkDataHeader $2; > let { (qds,ss,minf) = $3;-> l = $1 <> $2 <+?> minf <+?> fmap ann $4 <** ss};+> l = $1 <> $2 <+?> minf <+?> fmap ann (listToMaybe $4) <** ss}; > checkDataOrNew $1 qds;-> return (DataDecl l $1 cs dh (reverse qds) $4) } }+> return (DataDecl l $1 cs dh (reverse qds) (reverse $4)) } } Requires the GADTs extension enabled, handled in gadtlist.-> | data_or_newtype ctype optkind gadtlist deriving+> | data_or_newtype ctype optkind gadtlist maybe_derivings > {% do { (cs,dh) <- checkDataHeader $2; > let { (gs,ss,minf) = $4;-> l = ann $1 <+?> minf <+?> fmap ann $5 <** (snd $3 ++ ss)};+> derivs' = reverse $5;+> l = ann $1 <+?> minf <+?> fmap ann (listToMaybe $5) <** (snd $3 ++ ss)}; > checkDataOrNewG $1 gs; > case (gs, fst $3) of-> ([], Nothing) -> return (DataDecl l $1 cs dh [] $5)-> _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) $5) } }+> ([], Nothing) -> return (DataDecl l $1 cs dh [] derivs')+> _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) derivs') } } Same as above, lexer will handle it through the 'family' keyword.-> | 'data' 'family' ctype optkind+> | 'data' 'family' ctype opt_datafam_kind_sig > {% do { (cs,dh) <- checkDataHeader $3;-> let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};-> return (DataFamDecl l cs dh (fst $4)) } }+> let {l = nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1,$2]};+> return (DataFamDecl l cs dh $4) } } Here we must check for TypeFamilies.-> | data_or_newtype 'instance' truectype constrs0 deriving+> | data_or_newtype 'instance' truectype constrs0 maybe_derivings > {% do { -- (cs,c,t) <- checkDataHeader $4; > checkEnabled TypeFamilies ; > let { (qds,ss,minf) = $4 ;-> l = $1 <> $3 <+?> minf <+?> fmap ann $5 <** $2:ss };+> l = $1 <> $3 <+?> minf <+?> fmap ann (listToMaybe $5) <** $2:ss }; > checkDataOrNew $1 qds;-> return (DataInsDecl l $1 $3 (reverse qds) $5) } }+> return (DataInsDecl l $1 $3 (reverse qds) (reverse $5)) } } This style requires both TypeFamilies and GADTs, the latter is handled in gadtlist.-> | data_or_newtype 'instance' truectype optkind gadtlist deriving+> | data_or_newtype 'instance' truectype optkind gadtlist maybe_derivings > {% do { -- (cs,c,t) <- checkDataHeader $4; > checkEnabled TypeFamilies ; > let {(gs,ss,minf) = $5;-> l = ann $1 <+?> minf <+?> fmap ann $6 <** ($2:snd $4 ++ ss)};+> derivs' = reverse $6;+> l = ann $1 <+?> minf <+?> fmap ann (listToMaybe derivs') <** ($2:snd $4 ++ ss)}; > checkDataOrNewG $1 gs;-> return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) $6) } }+> return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) derivs') } } > | 'class' ctype fds optcbody > {% do { (cs,dh) <- checkClassHeader $2; > let {(fds,ss1,minf1) = $3;(mcs,ss2,minf2) = $4} ;@@ -609,11 +661,11 @@ > return (InstDecl (nIS $1 <++> ann $3 <+?> minf <** ($1:ss)) $2 ih mis) } } Requires the StandaloneDeriving extension enabled.-> | 'deriving' 'instance' optoverlap ctype+> | 'deriving' deriv_standalone_strategy 'instance' optoverlap ctype > {% do { checkEnabled StandaloneDeriving ;-> ih <- checkInstHeader $4;-> let {l = nIS $1 <++> ann $4 <** [$1,$2]};-> return (DerivDecl l $3 ih) } }+> ih <- checkInstHeader $5;+> let {l = nIS $1 <++> ann $5 <** [$1,$3]};+> return (DerivDecl l $2 $4 ih) } } > | 'default' '(' typelist ')' > { DefaultDecl ($1 <^^> $4 <** ($1:$2 : snd $3 ++ [$4])) (fst $3) } @@ -626,6 +678,7 @@ > } | '$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in SpliceDecl l $ ParenSplice l $2 }+ | '$$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in TSpliceDecl l $ TParenSplice l $2 } These require the ForeignFunctionInterface extension, handled by the lexer through the 'foreign' (and 'export') keyword.@@ -638,8 +691,34 @@ > | '{-# DEPRECATED' warndeprs '#-}' { DeprPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) } > | '{-# WARNING' warndeprs '#-}' { WarnPragmaDecl ($1 <^^> $3 <** ($1:snd $2++[$3])) $ reverse (fst $2) } > | '{-# ANN' annotation '#-}' { AnnPragma ($1 <^^> $3 <** [$1,$3]) $2 }+> | '{-# COMPLETE' con_list opt_tyconsig '#-}'+> { let com = maybe [] ((:[]) . fst) $3; ts = fmap snd $3 in+> (CompletePragma ($1 <^^> $4 <** ([$1] ++ fst $2 ++ com ++ [$4])) (snd $2) ts) } > | decl { $1 } +> -- Family result/return kind signatures+>+> opt_datafam_kind_sig :: { Maybe (ResultSig L) }+> : { Nothing }+> | '::' kind { (Just $ KindSig (nIS $1 <++> ann $2 <** [$1]) $2) }+>+> opt_tyfam_kind_sig :: { Maybe (ResultSig L) }+> : { Nothing }+> | '::' kind { (Just $ KindSig (nIS $1 <++> ann $2 <** [$1]) $2) }+> | '=' ktyvar { (Just $ TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2) }+>+> opt_at_kind_inj_sig :: { (Maybe (ResultSig L), Maybe (InjectivityInfo L))}+> : { (Nothing, Nothing) }+> | '::' kind { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing) }+> | '=' ktyvar injectivity_info+> { (Just (TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2), Just $3) }++> opt_at_kind_inj_sig2 :: { (Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L))}+> : { (Nothing, Nothing, Nothing) }+> | '::' kind { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing, Nothing) }+> | '=' truectype opt_injectivity_info { (Nothing, Just ($1, $2), $3) }++ Role annotations > role_annot :: { Decl L }@@ -659,7 +738,10 @@ > optoverlap :: { Maybe (Overlap L) }-> : '{-# OVERLAP' '#-}' { Just (Overlap (nIS $1)) }+> : '{-# OVERLAP' '#-}' { Just (Overlap (nIS $1)) }+> | '{-# OVERLAPS' '#-}' { Just (Overlaps (nIS $1)) }+> | '{-# OVERLAPPING' '#-}' { Just (Overlapping (nIS $1)) }+> | '{-# OVERLAPPABLE' '#-}' { Just (Overlappable (nIS $1)) } > | '{-# INCOHERENT' '#-}' { Just (Incoherent (nIS $1)) } > | '{-# NO_OVERLAP' '#-}' { Just (NoOverlap (nIS $1)) } > | {- empty -} { Nothing }@@ -677,9 +759,10 @@ > : ty_fam_inst_eqns ';' ty_fam_inst_eqn { $1 ++ [$3] } > | ty_fam_inst_eqns ';' { $1 } > | ty_fam_inst_eqn { [$1] }+> | { [] } > ty_fam_inst_eqn :: { TypeEqn L }-> : truedtype '=' truectype+> : truectype '=' truectype > {% do { checkEnabled TypeFamilies ; > return (TypeEqn (ann $1 <++> ann $3 <** [$2]) $1 $3) } } @@ -876,68 +959,98 @@ > : dtype {% checkType $1 } > dtype :: { PType L }-> : btype { $1 }-> | btype qtyconop dtype { TyInfix ($1 <> $3) $1 $2 $3 }-> | btype qtyvarop dtype { TyInfix ($1 <> $3) $1 $2 $3 } -- FIXME-> | btype '->' ctype { TyFun ($1 <> $3 <** [$2]) $1 $3 }-> | btype '~' btype {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;-> let {l = $1 <> $3 <** [$2]};-> return $ TyPred l $ EqualP l $1 $3 } }+> : dtype_('*',NEVER) { $1 } +> dtype_(ostar,kstar) :: { PType L }+> : btype_(ostar,kstar) { splitTilde $1 }+> | btype_(ostar,kstar) qtyconop dtype_(ostar,kstar) { TyInfix ($1 <> $3) $1 $2 $3 }+> | btype_(ostar,kstar) qtyvarop_(ostar) dtype_(ostar,kstar) { TyInfix ($1 <> $3) $1 (UnpromotedName (ann $2) $2) $3 } -- FIXME+> | btype_(ostar,kstar) '->' ctype_(ostar,kstar) { TyFun ($1 <> $3 <** [$2]) (splitTilde $1) $3 }+ | btype_(ostar,kstar) '~' btype_(ostar,kstar) {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;+ let {l = $1 <> $3 <** [$2]};+ return $ TyPred l $ EqualP l $1 $3 } }+ Implicit parameters can occur in normal types, as well as in contexts. > truetype :: { Type L } > : type {% checkType $1 } > type :: { PType L }-> : ivar '::' dtype { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }-> | dtype { $1 }+> : type_('*',NEVER) { $1 } +> type_(ostar,kstar) :: { PType L }+> : ivar '::' dtype_(ostar,kstar) { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }+> | dtype_(ostar,kstar) { $1 }+ > truebtype :: { Type L }-> : btype {% checkType $1 }+> : btype {% checkType (splitTilde $1) }+> trueatype :: { Type L }+> : atype {% checkType $1 } > btype :: { PType L }-> : btype atype { TyApp ($1 <> $2) $1 $2 }-> | atype { $1 }+> : btype_('*',NEVER) { $1 } +> btype_(ostar,kstar) :: { PType L }+> : btype_(ostar,kstar) atype_(ostar,kstar) { TyApp ($1 <> $2) $1 $2 }+> | atype_(ostar,kstar) { $1 }+ UnboxedTuples requires the extension, but that will be handled through the (# and #) lexemes. Kinds will be handled at the kind rule. > atype :: { PType L }-> : gtycon { TyCon (ann $1) $1 }+> : atype_('*',NEVER) { $1 }++> atype_(ostar,kstar) :: { PType L }+> : kstar { TyStar (nIS $1) }+> | gtycon_(ostar) { TyCon (ann $1) $1 } > | tyvar {% checkTyVar $1 }-> | strict_mark atype { let (bangOrPack, locs) = $1-> in let annot = if bangOrPack then (BangedTy (nIS (last locs) <** locs)) else UnpackedTy (nIS (head locs) <++> nIS (last locs) <** locs)-> in bangType (nIS (head locs) <++> ann $2) annot $2 }-> | '(' types ')' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed (reverse (fst $2)) }-> | '(#' types1 '#)' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }-> | '[' type ']' { TyList ($1 <^^> $3 <** [$1,$3]) $2 }-> | '[:' type ':]' { TyParArray ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' ctype ')' { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' ctype '::' kind ')' { TyKind ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }+> | strict_mark atype { let (mstrict, mupack) = $1+> in bangType mstrict mupack $2 }+> | '(' types_(ostar,kstar) ')' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed (reverse (fst $2)) }+> | '(#' types_bars2(ostar,kstar) '#)' { TyUnboxedSum ($1 <^^> $3 <** ($1: reverse ($3: snd $2))) (reverse (fst $2)) }+> | '(#' types1_(ostar,kstar) '#)' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }+> | '[' type_(ostar,kstar) ']' { TyList ($1 <^^> $3 <** [$1,$3]) $2 }+> | '[:' type_(ostar,kstar) ':]' { TyParArray ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' ctype_(ostar,kstar) ')' { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' ctype_(ostar,kstar) '::' kind ')' { TyKind ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 } > | '$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ ParenSplice l $2 }+> | '$$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ TParenSplice l $2 } > | IDSPLICE { let Loc l (THIdEscape s) = $1 in TySplice (nIS l) $ IdSplice (nIS l) s }+> | TIDSPLICE { let Loc l (THTIdEscape s) = $1 in TySplice (nIS l) $ TIdSplice (nIS l) s } > | '_' { TyWildCard (nIS $1) Nothing }-> | ptype { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) }+> | QUASIQUOTE { let Loc l (THQuasiQuote (n,q)) = $1 in TyQuasiQuote (nIS l) n q }+> | ptype_(ostar,kstar) { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) } -> ptype :: { Promoted L }-> : VARQUOTE '[' types1 ']' {% PromotedList ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }-> | VARQUOTE '[' ']' { PromotedList ($1 <^^> $3 <** [$1, $3]) True [] }-> | '[' types ']' {% PromotedList ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) }+> ptype_(ostar,kstar) :: { Promoted L }+> : VARQUOTE gcon_nolist {% fmap (PromotedCon (nIS $1 <++> ann $2 <** [$1]) True) (pexprToQName $2) }+> | VARQUOTE '[' types1_(ostar,kstar) ']' {% PromotedList ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }+> | '[' types_(ostar,kstar) ']' {% PromotedList ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) }+> | VARQUOTE '[' ']' { PromotedList ($1 <^^> $3 <** [$1, $3]) True [] }+ | '[' ']' {% PromotedList ($1 <^^> $2 <** [$1, $2]) False [] } > | VARQUOTE '(' types1 ')' {% PromotedTuple ($1 <^^> $4 <** ($1:reverse($4:snd $3))) . reverse <\$> mapM checkType (fst $3) }-> | VARQUOTE '(' ')' { PromotedUnit ($1 <^^> $3 ) }-> | VARQUOTE gconsym { PromotedCon ((noInfoSpan $1 <++> ann $2) <** [$1]) True $2 }-> | VARQUOTE qtyconorcls { PromotedCon ((noInfoSpan $1 <++> ann $2) <** [$1]) True $2 } > | INT { let Loc l (IntTok (i,raw)) = $1 in PromotedInteger (nIS l) i raw } > | STRING { let Loc l (StringTok (s,raw)) = $1 in PromotedString (nIS l) s raw } -> strict_mark :: { (Bool, [S]) }-> : '!' { (True, [$1]) }-> | '{-# UNPACK' '#-}' '!' { (False, [$1,$2,$3]) } +> strict_mark :: { (Maybe (L -> BangType L,S), Maybe (Unpackedness L)) }+> : strictness { (Just $1, Nothing) }+> | unpackedness { (Nothing, Just $1) }+> | unpackedness strictness { (Just $2, Just $1) } +> strictness :: { (L -> BangType L, S) }+> : '!' { (BangedTy, $1) }+> | '~' { (LazyTy, $1) }++> unpackedness :: { Unpackedness L }+> : '{-# UNPACK' '#-}' { (Unpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }+> | '{-# NOUNPACK' '#-}' { (NoUnpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }++ > gtycon :: { QName L }-> : otycon { $1 }+> : gtycon_('*') { $1 }++> gtycon_(ostar) :: { QName L }+> : otycon_(ostar) { $1 } > | '(' ')' { unit_tycon_name ($1 <^^> $2 <** [$1,$2]) } > | '(' '->' ')' { fun_tycon_name ($1 <^^> $3 <** [$1,$2,$3]) } > | '[' ']' { list_tycon_name ($1 <^^> $2 <** [$1,$2]) }@@ -946,14 +1059,18 @@ > | '(#' commas '#)' { tuple_tycon_name ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Unboxed (length $2) } > otycon :: { QName L }+> : otycon_('*') { $1 }++> otycon_(ostar) :: { QName L } > : qconid { $1 } > | '(' gconsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }-> | '(' qvarsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+> | '(' qvarsym_(ostar) ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 } These are for infix types -> qtyconop :: { QName L }-> : qconop { $1 }+> qtyconop :: { MaybePromotedName L }+> : qconop { UnpromotedName (ann $1) $1 }+> | VARQUOTE gconsym { PromotedName (nIS $1 <++> ann $2 <** [$1]) $2 } (Slightly edited) Comment from GHC's hsparser.y:@@ -973,25 +1090,38 @@ > : ctype {% checkType $1 } > ctype :: { PType L }-> : 'forall' ktyvars '.' ctype { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }-> | context ctype { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }-> | type { $1 }+> : ctype_('*',NEVER) { $1 } +> ctype_(ostar,kstar) :: { PType L }+> : 'forall' ktyvars '.' ctype_(ostar,kstar) { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }+> | context_(ostar,kstar) ctype_(ostar,kstar) { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }+> | type_(ostar,kstar) { $1 }+ Equality constraints require the TypeFamilies extension. > context :: { PContext L }-> : btype '=>' {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) $1 }-> | btype '~' btype '=>' {% do { checkEnabledOneOf [TypeFamilies, GADTs];-> let {l = $1 <> $3 <** [$2,$4]};-> checkPContext (TyPred l $ EqualP l $1 $3) } }+> : context_('*',NEVER) { $1 } +> context_(ostar,kstar) :: { PContext L }+> : btype_(ostar,kstar) '=>' {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) (splitTilde $1) }+ > types :: { ([PType L],[S]) }-> : types1 ',' ctype { ($3 : fst $1, $2 : snd $1) }+> : types_('*',NEVER) { $1 } +> types_(ostar,kstar) :: { ([PType L],[S]) }+> : types1_(ostar,kstar) ',' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }+ > types1 :: { ([PType L],[S]) }-> : ctype { ([$1],[]) }-> | types1 ',' ctype { ($3 : fst $1, $2 : snd $1) }+> : types1_('*',NEVER) { $1 } +> types1_(ostar,kstar) :: { ([PType L],[S]) }+> : ctype_(ostar,kstar) { ([$1],[]) }+> | types1_(ostar,kstar) ',' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }++> types_bars2(ostar,kstar) :: { ([PType L],[S]) }+> : ctype_(ostar,kstar) '|' ctype_(ostar,kstar) { ([$3, $1], [$2]) }+> | types_bars2(ostar,kstar) '|' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }+ > ktyvars :: { ([TyVarBind L],Maybe L) } > : ktyvars ktyvar { ($2 : fst $1, Just (snd $1 <?+> ann $2)) } > | {- empty -} { ([],Nothing) }@@ -1048,10 +1178,14 @@ > gadtconstr :: { [GadtDecl L] } > : qcon '::' truectype {% do { c <- checkUnQual $1;-> return [GadtDecl ($1 <> $3 <** [$2]) c Nothing $3] } }+> return [GadtDecl ($1 <> $3 <** [$2]) c Nothing Nothing Nothing $3] } }+> | qcon '::' context '{' fielddecls '}' '->' truectype+> {% do { c <- checkUnQual $1;+> ctxt <- checkContext (Just $3) ;+> return [GadtDecl ($1 <> $8 <** [$2,$4,$6,$7] ++ snd $5) c Nothing ctxt (Just (reverse $ fst $5)) $8] } } > | qcon '::' '{' fielddecls '}' '->' truectype > {% do { c <- checkUnQual $1;-> return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c (Just (reverse $ fst $4)) $7] } }+> return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c Nothing Nothing (Just (reverse $ fst $4)) $7] } } To allow the empty case we need the EmptyDataDecls extension. > constrs0 :: { ([QualConDecl L],[S],Maybe L) }@@ -1094,21 +1228,37 @@ > fielddecl :: { FieldDecl L } > : vars '::' truectype { let (ns,ss,l) = $1 in FieldDecl (l <++> ann $3 <** (reverse ss ++ [$2])) (reverse ns) $3 } -> deriving :: { Maybe (Deriving L) }-> : {- empty -} { Nothing }-> | 'deriving' qtycls1 { let l = nIS $1 <++> ann $2 <** [$1] in Just $ Deriving l [IRule (ann $2) Nothing Nothing $2] }-> | 'deriving' '(' ')' { Just $ Deriving ($1 <^^> $3 <** [$1,$2,$3]) [] }-> | 'deriving' '(' dclasses ')' { -- Distinguish deriving (Show) from deriving Show (#189)-> case fst $3 of-> [ts] -> Just $ Deriving ($1 <^^> $4 <** [$1]) [IParen ($2 <^^> $4 <** [$2,$4]) ts]-> tss -> Just $ Deriving ($1 <^^> $4 <** $1:$2: reverse (snd $3) ++ [$4]) (reverse tss)}+> maybe_derivings :: { [Deriving L] }+> : {- empty -} { [] }+> | derivings { $1 } +> derivings :: { [Deriving L] }+> : derivings deriving { $2 : $1 }+> | deriving { [$1] }++> deriving :: { Deriving L }+> : 'deriving' deriv_clause_types+> { let (ihs, last_ss, sss) = $2+> in Deriving ($1 <^^> last_ss <** $1:sss) Nothing ihs }+> | 'deriving' deriv_strategy_no_via deriv_clause_types+> { let (ihs, last_ss, sss) = $3+> in Deriving ($1 <^^> last_ss <** $1:sss) (Just $2) ihs }+> | 'deriving' deriv_clause_types deriv_strategy_via+> { let (ihs, last_ss, sss) = $2+> in Deriving ($1 <^^> last_ss <** $1:sss) (Just $3) ihs }+ > dclasses :: { ([InstRule L],[S]) } > : types1 {% checkDeriving (fst $1) >>= \ds -> return (ds, snd $1) } > qtycls1 :: { InstHead L } > : qconid { IHCon (ann $1) $1 } +> deriv_clause_types :: { ([InstRule L], SrcSpan, [SrcSpan]) }+> : qtycls1 { [IRule (ann $1) Nothing Nothing $1], srcInfoSpan (ann $1), [] }+> | '(' ')' { [], $2, [$1, $2] }+> | '(' dclasses ')' { case fst $2 of+> [ts] -> ([IParen ($1 <^^> $3 <** [$1,$3]) ts], $3, [])+> tss -> (reverse tss, $3, $1: reverse (snd $2) ++ [$3]) } ----------------------------------------------------------------------------- Kinds@@ -1117,36 +1267,15 @@ > : kind1 {% checkEnabled KindSignatures >> return $1 } > kind1 :: { Kind L }-> : bkind { $1 }-> | bkind '->' kind1 { KindFn ($1 <> $3 <** [$2]) $1 $3 }--> bkind :: { Kind L }-> : akind { $1 }-> | bkind akind { KindApp ($1 <> $2) $1 $2 }--> akind :: { Kind L }-> : '*' { KindStar (nIS $1) }-> | '(' kind1 ')' { KindParen ($1 <^^> $3 <** [$1,$3]) $2 }-> | pkind {% checkKind $1 >> return $1 }-> | qvarid {% checkEnabled PolyKinds >> return (KindVar (ann $1) $1) }--KindParen covers 1-tuples, KindVar l while KindTuple is for pairs--> pkind :: { Kind L }-> : qtyconorcls { KindVar (ann $1) $1 }-> | '(' ')' { let l = $1 <^^> $2 in KindVar l (unit_tycon_name l) }-> | '(' kind ',' comma_kinds1 ')'-> { KindTuple ($1 <^^> $5 <** ($1:$3:reverse ($5:snd $4))) ($2:reverse (fst $4)) }-> | '[' kind ']' { KindList (($1 <^^> $3) <** [$1, $3]) $2 }--> comma_kinds1 :: { ([Kind L], [S]) }-> : kind1 { ([$1], []) }-> | kind1 ',' comma_kinds1 { ($1 : (fst $3), $2 : (snd $3)) }-+> : ctype_(NEVER,'*') {% checkType $1 } > optkind :: { (Maybe (Kind L), [S]) } > : {-empty-} { (Nothing,[]) } > | '::' kind { (Just $2,[$1]) }++> opt_tyconsig :: { Maybe ( S, QName L ) }+> : {- empty -} { Nothing }+> | '::' gtycon { Just ($1, $2) } ----------------------------------------------------------------------------- Class declarations @@ -1175,17 +1304,23 @@ > | atdecl {% checkEnabled TypeFamilies >> return $1 } > | 'default' signdecl {% checkEnabled DefaultSignatures >> checkDefSigDef $2 >>= \(n,t,l) -> return (ClsDefSig (nIS $1 <++> ann $2 <** [$1,l]) n t) } +> opt_family :: { [S] }+> : {- empty -} { [] }+> | 'family' { [$1] }+ > atdecl :: { ClassDecl L }-> : 'type' type optkind-> {% do { dh <- checkSimpleType $2;-> return (ClsTyFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) dh (fst $3)) } }-> | 'type' truedtype '=' truectype-> { ClsTyDef (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }-> | 'type' 'instance' truedtype '=' truectype-> { ClsTyDef (nIS $1 <++> ann $5 <** [$1,$2,$4]) $3 $5 }-> | 'data' ctype optkind-> {% do { (cs,dh) <- checkDataHeader $2;-> return (ClsDataFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) cs dh (fst $3)) } }+> : 'data' opt_family type opt_datafam_kind_sig+> {% do { (cs,dh) <- checkDataHeader $3;+> return (ClsDataFam (nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1]) cs dh $4) } }+> | 'type' type opt_at_kind_inj_sig2+> {% mkAssocType $1 $2 $3 }+> | 'type' 'family' type opt_at_kind_inj_sig+> {% do { dh <- checkSimpleType $3;+> return (ClsTyFam (nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4)+> <+?> (fmap ann) (snd $4)+> <** [$1]) dh (fst $4) (snd $4)) } }+> | 'type' 'instance' ty_fam_inst_eqn+> { ClsTyDef (nIS $1 <++> ann $3 <** [$1,$2]) $3 } ----------------------------------------------------------------------------- Instance declarations@@ -1218,16 +1353,16 @@ > : 'type' truedtype '=' truectype > {% do { -- no checkSimpleType $4 since dtype may contain type patterns > return (InsType (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4) } }-> | data_or_newtype truectype constrs0 deriving+> | data_or_newtype truectype constrs0 maybe_derivings > {% do { -- (cs,c,t) <- checkDataHeader $4; > let {(ds,ss,minf) = $3}; > checkDataOrNew $1 ds;-> return (InsData ($1 <> $2 <+?> minf <+?> fmap ann $4 <** ss ) $1 $2 (reverse ds) $4) } }-> | data_or_newtype truectype optkind gadtlist deriving+> return (InsData ($1 <> $2 <+?> minf <+?> fmap ann (listToMaybe $4) <** ss ) $1 $2 (reverse ds) (reverse $4)) } }+> | data_or_newtype truectype optkind gadtlist maybe_derivings > {% do { -- (cs,c,t) <- checkDataHeader $4; > let { (gs,ss,minf) = $4 } ; > checkDataOrNewG $1 gs;-> return $ InsGData (ann $1 <+?> minf <+?> fmap ann $5 <** (snd $3 ++ ss)) $1 $2 (fst $3) (reverse gs) $5 } }+> return $ InsGData (ann $1 <+?> minf <+?> fmap ann (listToMaybe $5) <** (snd $3 ++ ss)) $1 $2 (fst $3) (reverse gs) (reverse $5) } } ----------------------------------------------------------------------------- Value definitions@@ -1305,6 +1440,11 @@ > | exp10b { $1 } > exp10a :: { PExp L }+> : expblocka { $1 }+> | fexp expblocka {% checkEnabled BlockArguments >>+> return (App ($1 <> $2) $1 $2) }++> expblocka :: { PExp L } > : '\\' apats '->' exp { Lambda (nIS $1 <++> ann $4 <** [$1,$3]) (reverse $2) $4 } A let may bind implicit parameters > | 'let' binds 'in' exp { Let (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }@@ -1317,26 +1457,29 @@ > | exppragma { $1 } > optlayoutsemi :: { [S] }-> : ';' {% checkEnabled DoAndIfThenElse >> return [$1] }+> : ';' {% checkEnabled DoAndIfThenElse >> return [$1] } > | {- empty -} { [] } We won't come here unless XmlSyntax is already checked. > opthsxsemi :: { [S] }-> : ';' { [$1] }+> : ';' { [$1] } > | {- empty -} { [] } mdo blocks require the RecursiveDo extension enabled, but the lexer handles that. > exp10b :: { PExp L }+> : expblockb { $1 }+> | '-' fexp { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 }+> | fexp { $1 }++> expblockb :: { PExp L } > : 'case' exp 'of' altslist { let (als, inf, ss) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss)) $2 als } > | '\\' 'case' altslist {% do { checkEnabled LambdaCase ; > let { (als, inf, ss) = $3 } ; > return (LCase (nIS $1 <++> inf <** ($1:$2:ss)) als) } }-> | '-' fexp { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 } > | 'do' stmtlist { let (sts, inf, ss) = $2 in Do (nIS $1 <++> inf <** $1:ss) sts } > | 'mdo' stmtlist { let (sts, inf, ss) = $2 in MDo (nIS $1 <++> inf <** $1:ss) sts }-> | fexp { $1 } > exppragma :: { PExp L } > : '{-# CORE' STRING '#-}' exp { let Loc l (StringTok (s,_)) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }@@ -1353,6 +1496,8 @@ > fexp :: { PExp L } > : fexp aexp { App ($1 <> $2) $1 $2 }+> | fexp expblockb {% checkEnabled BlockArguments >>+> return (App ($1 <> $2) $1 $2) } > | aexp { $1 } > apats :: { [Pat L] }@@ -1379,6 +1524,7 @@ > | qvar '@:' aexp {% do { n <- checkUnQual $1; > return (CAsRP ($1 <> $3 <** [$2]) n $3) } } > | '~' aexp { IrrPat (nIS $1 <++> ann $2 <** [$1]) $2 }+> | TYPEAPP trueatype { TypeApp (nIS $1 <++> ann $2 <** [$1]) $2 } > | aexp1 { $1 } Note: The first two alternatives of aexp1 are not necessarily record@@ -1398,39 +1544,44 @@ > aexp2 :: { PExp L } > : ivar { IPVar (ann $1) $1 }+> | overloaded_label { $1 } > | qvar { Var (ann $1) $1 } > | gcon { $1 } > | literal { Lit (ann $1) $1 } > | '(' texp ')' { Paren ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' texp tsectend { TupleSection ($1 <^^> head (snd $3) <** $1:reverse (snd $3)) Boxed (Just $2 : fst $3) }-> | '(' commas texp ')' { TupleSection ($1 <^^> $4 <** $1:reverse ($4:$2)) Boxed-> (replicate (length $2) Nothing ++ [Just $3]) }-> | '(' commas texp tsectend { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) Boxed-> (replicate (length $2) Nothing ++ Just $3 : fst $4) }-> | '(#' texp thashsectend { TupleSection ($1 <^^> head (snd $3) <** $1:reverse (snd $3)) Unboxed (Just $2 : fst $3) }+> | '(' tup_exprs ')' {% do { e <- mkSumOrTuple Boxed ($1 <^^> $3) (snd $2)+> ; return $ amap (\l -> l <** [$1] ++ fst $2 ++ [$3]) e } } > | '(#' texp '#)' { TupleSection ($1 <^^> $3 <** [$1,$3]) Unboxed [Just $2] }-> | '(#' commas texp '#)' { TupleSection ($1 <^^> $4 <** $1:reverse ($4:$2)) Unboxed-> (replicate (length $2) Nothing ++ [Just $3]) }-> | '(#' commas texp thashsectend { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) Unboxed-> (replicate (length $2) Nothing ++ Just $3 : fst $4) }+> | '(#' tup_exprs '#)' {% do { e <- mkSumOrTuple Unboxed ($1 <^^> $3) (snd $2)+> ; return $ amap (\l -> l <** [$1] ++ fst $2 ++ [$3]) e } } > | '[' list ']' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) } > | '[:' parr ':]' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) }-> | '_' { WildCard (nIS $1) } > | '(' erpats ')' {% checkEnabled RegularPatterns >> return (Paren ($1 <^^> $3 <** [$1,$3]) $2) }-> | '(|' sexps '|)' { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }-> | '(|' exp '|' quals '|)' { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) }+> | '(|' exp '|)' { ArrOp ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(/' sexps '/)' { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }+> | '(/' exp '|' quals '/)' { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) } > | xml { $1 } + Template Haskell - all this is enabled in the lexer. > | IDSPLICE { let Loc l (THIdEscape s) = $1 in SpliceExp (nIS l) $ IdSplice (nIS l) s }+> | TIDSPLICE { let Loc l (THTIdEscape s) = $1 in SpliceExp (nIS l) $ TIdSplice (nIS l) s } > | '$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ ParenSplice l $2 }+> | '$$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ TParenSplice l $2 } > | '[|' trueexp '|]' { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ ExpBracket l $2 }+> | '[||' trueexp '||]' { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ TExpBracket l $2 } > | '[p|' exp0 '|]' {% do { p <- checkPattern $2; > let {l = ($1 <^^> $3 <** [$1,$3]) }; > return $ BracketExp l $ PatBracket l p } } > | '[t|' truectype '|]' { let l = $1 <^^> $3 <** [$1,$3] in BracketExp l $ TypeBracket l $2 } > | '[d|' open topdecls close '|]' { let l = $1 <^^> $5 <** ($1:snd $3 ++ [$5]) > in BracketExp l $ DeclBracket ($1 <^^> $5 <** ($2:snd $3 ++ [$4,$5])) (fst $3) }+> | VARQUOTE '(' ')' { let {l1 = $1 <^^> $3 <** [$1];+> l2 = $2 <^^> $3 <** [$2,$3];}+> in VarQuote l1 (unit_con_name l2) }+> | VARQUOTE '[' ']' { let {l1 = $1 <^^> $3 <** [$1];+> l2 = $2 <^^> $3 <** [$2,$3];}+> in VarQuote l1 (list_con_name l2) } > | VARQUOTE qvar { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 } > | VARQUOTE qcon { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 } > | TYPQUOTE tyvar { TypQuote (nIS $1 <++> ann $2 <** [$1]) (UnQual (ann $2) $2) }@@ -1438,26 +1589,38 @@ > | QUASIQUOTE { let Loc l (THQuasiQuote (n,q)) = $1 in QuasiQuote (nIS l) n q } End Template Haskell +> tup_exprs :: { ([S], SumOrTuple L) }+> : texp commas_tup_tail { (fst $2, STuple (Just $1 : snd $2)) }+> | texp bars { ($2, SSum 0 (length $2) $1) }+> | commas tup_tail { ($1 ++ (fst $2), STuple ((map (const Nothing) $1) ++ snd $2)) }+> | bars texp bars0 { ($1 ++ $3, SSum (length $1) (length $3) $2) }++> commas_tup_tail :: { ([S], [Maybe (PExp L)]) }+> : commas tup_tail { (reverse $1 ++ fst $2, map (const Nothing) (tail $1) ++ snd $2) }++> tup_tail :: { ([S], [Maybe (PExp L)]) }+> : texp commas_tup_tail { (fst $2, Just $1 : snd $2) }+> | texp { ([], [Just $1]) }+> | {- empty -} { ([], [Nothing]) }+ > commas :: { [S] } > : commas ',' { $2 : $1 } > | ',' { [$1] } +> bars :: { [S] }+> : bars '|' { $2 : $1 }+> | '|' { [$1] }++> bars0 :: { [S] }+> : bars { $1 }+> | { [] }+ > texp :: { PExp L } > : exp { $1 } > | qopm exp0 { PreOp ($1 <> $2) $1 $2 } > | exp '->' pat {% do {checkEnabled ViewPatterns; > return $ ViewPat ($1 <> $3 <** [$2]) $1 $3} } -> tsectend :: { ([Maybe (PExp L)],[S]) }-> : commas texp tsectend { let (mes, ss) = $3 in (replicate (length $1 - 1) Nothing ++ Just $2 : mes, ss ++ $1) }-> | commas texp ')' { (replicate (length $1 - 1) Nothing ++ [Just $2], $3 : $1) }-> | commas ')' { (replicate (length $1) Nothing, $2 : $1) }--> thashsectend :: { ([Maybe (PExp L)],[S]) }-> : commas texp thashsectend { let (mes, ss) = $3 in (replicate (length $1 - 1) Nothing ++ Just $2 : mes, ss ++ $1) }-> | commas texp '#)' { (replicate (length $1 - 1) Nothing ++ [Just $2], $3 : $1) }-> | commas '#)' { (replicate (length $1) Nothing, $2 : $1) }- ----------------------------------------------------------------------------- Harp Extensions @@ -1638,7 +1801,10 @@ > : '{' alts '}' { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) } > | open alts close { let l' = ann . last $ fst $2 > in (fst $2, nIS $1 <++> l', $1:snd $2 ++ [$3]) }+> | '{' '}' {% do { checkEnabled EmptyCase;+> return ([], $1 <^^> $2, [$1, $2]) } } + > alts :: { ([Alt L],[S]) } > : optsemis alts1 optsemis { (reverse $ fst $2, $1 ++ snd $2 ++ $3) } @@ -1741,13 +1907,24 @@ Variables, Constructors and Operators. > gcon :: { PExp L }+> : sysdcon { $1 }+> | qcon { Con (ann $1) $1 }++> gcon_nolist :: { PExp L }+> : sysdcon_nolist { $1 }+> | qcon { Con (ann $1) $1 }++> sysdcon_nolist :: { PExp L } > : '(' ')' { p_unit_con ($1 <^^> $2 <** [$1,$2]) }-> | '[' ']' { List ($1 <^^> $2 <** [$1,$2]) [] }-> | '(' commas ')' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Boxed (length $2) } > | '(#' '#)' { p_unboxed_singleton_con ($1 <^^> $2 <** [$1,$2]) } > | '(#' commas '#)' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Unboxed (length $2) }-> | qcon { Con (ann $1) $1 }+> | '(' commas ')' { p_tuple_con ($1 <^^> $3 <** $1:reverse ($3:$2)) Boxed (length $2) } ++> sysdcon :: { PExp L }+> : '[' ']' { List ($1 <^^> $2 <** [$1,$2]) [] }+> | sysdcon_nolist { $1 }+ > var :: { Name L } > : varid { $1 } > | '(' varsym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }@@ -1768,6 +1945,11 @@ > : conid { $1 } > | '(' consym ')' { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 } +> con_list :: { ([S], [Name L]) }+> : con { ([], [$1]) }+> | con ',' con_list { let (ss, cs) = $3+> in ($2 : ss, $1 :cs) }+ > qcon :: { QName L } > : qconid { $1 } > | '(' gconsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }@@ -1808,6 +1990,10 @@ > : ':' { list_cons_name (nIS $1) } > | qconsym { $1 } +> overloaded_label :: { PExp L }+> : LABELVARID { let Loc l (LabelVarId v) = $1 in OverloadedLabel+> (nIS l) v }+ ----------------------------------------------------------------------------- Identifiers and Symbols @@ -1815,6 +2001,7 @@ > : varid { UnQual (ann $1) $1 } > | QVARID { let {Loc l (QVarId q) = $1; nis = nIS l} > in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q)) }+> | '_' { hole_name (nIS $1) } > varid_no_safety :: { Name L } > : VARID { let Loc l (VarId v) = $1 in Ident (nIS l) v }@@ -1830,6 +2017,8 @@ > | 'js' { js_name (nIS $1) } > | 'javascript' { javascript_name (nIS $1) } > | 'capi' { capi_name (nIS $1) }+> | 'stock' { stock_name (nIS $1) }+> | 'anyclass' { anyclass_name (nIS $1) } > varid :: { Name L } > : varid_no_safety { $1 }@@ -1837,8 +2026,9 @@ > | 'unsafe' { unsafe_name (nIS $1) } > | 'interruptible' { interruptible_name (nIS $1) } > | 'threadsafe' { threadsafe_name (nIS $1) }-> | 'forall' { forall_name (nIS $1) }-> | 'family' { family_name (nIS $1) }+> | 'forall' { forall_name (nIS $1) }+> | 'family' { family_name (nIS $1) }+> | 'role' { role_name (nIS $1) } Implicit parameter@@ -1861,7 +2051,10 @@ > : CONSYM { let Loc l (ConSym c) = $1 in Symbol (nIS l) c } > qvarsym :: { QName L }-> : varsym { UnQual (ann $1) $1 }+> : qvarsym_('*') { $1 }++> qvarsym_(ostar) :: { QName L }+> : varsym_(ostar) { UnQual (ann $1) $1 } > | qvarsym1 { $1 } > qvarsymm :: { QName L }@@ -1869,14 +2062,20 @@ > | qvarsym1 { $1 } > varsym :: { Name L }-> : varsymm { $1 }+> : varsym_('*') { $1 }++> varsym_(ostar) :: { Name L }+> : varsymm_(ostar) { $1 } > | '-' { minus_name (nIS $1) } -> varsymm :: { Name L } -- varsym not including '-'+> varsymm :: { Name L }+> : varsymm_('*') { $1 }++> varsymm_(ostar) :: { Name L } -- varsym not including '-' > : VARSYM { let Loc l (VarSym v) = $1 in Symbol (nIS l) v } > | '!' { bang_name (nIS $1) } > | '.' { dot_name (nIS $1) }-> | '*' { star_name (nIS $1) }+> | ostar { star_name (nIS $1) } > qvarsym1 :: { QName L } > : QVARSYM { let {Loc l (QVarSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }@@ -1930,39 +2129,75 @@ > (_:_) -> ann $1 <++> (ann $ last $2) > in PApp l (UnQual (ann $1) $1) $2 } > | varid qconsym varid { PInfixApp (ann $1 <++> ann $3) (PVar (ann $1) $1) $2 (PVar (ann $3) $3) }+> | con '{' commavars '}' { let { (ss, ns) = $3 ;+> qnames = (map (\n -> UnQual (ann n) n) ns) }+> in PRec (ann $1 <++> nIS $4 <** ($2 : ss ++ [$4]))+> (UnQual (ann $1) $1) (map (\q -> PFieldPun (ann q) q) qnames) } > > vars0 :: { [Pat L] } > : {- empty -} { [] } > | varid vars0 { PVar (ann $1) $1 : $2 } +> commavars :: { ([S], [Name L]) }+> : varid { ([], [$1] ) }+> | varid ',' commavars { let (ss, ns) = $3 in ($2 : ss, $1 : ns) }+ > where_decls :: { PatternSynDirection L } > : 'where' '{' decls '}' {% checkExplicitPatSyn $1 $2 $3 $4 } > | 'where' open decls close {% checkExplicitPatSyn $1 $2 $3 $4 } > pattern_synonym_sig :: { Decl L }-> : 'pattern' con '::' pstype+> : 'pattern' con_list '::' pstype > {% do { checkEnabled PatternSynonyms ;-> let {(qtvs, ps, prov, req, ty) = $4} ;-> let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1, $3] ++ ps) $2 qtvs prov req ty} ;+> let {(qtvs, ps, prov, req_vars, req, ty) = $4} ;+> let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1] ++ fst $2 ++ [$3] ++ ps) (snd $2) qtvs prov req_vars req ty} ; > return sig } } -> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )}+> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe [TyVarBind L]+> , Maybe (Context L), Type L )} > : 'forall' ktyvars '.' pstype-> { let (qtvs, ps, prov, req, ty) = $4-> in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req, ty) }+> { let (qtvs, ps, prov, req_vars, req, ty) = $4+> in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req_vars, req, ty) } > | context context type > {% do { c1 <- checkContext (Just $1) ; > c2 <- checkContext (Just $2) ; > t <- checkType $3 ;-> return $ (Nothing, [], c1, c2, t) }}+> return $ (Nothing, [], c1, Nothing, c2, t) }}+> | context 'forall' ktyvars '.' context type+> {% do { c1 <- checkContext (Just $1) ;+> c2 <- checkContext (Just $5) ;+> t <- checkType $6 ;+> return $ (Nothing, [], c1, Just (reverse (fst $3)), c2, t) }} > | context type > {% do { c1 <- checkContext (Just $1); > t <- checkType $2;-> return (Nothing, [], c1, Nothing, t) } }+> return (Nothing, [], c1, Nothing, Nothing, t) } } > | type-> {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, t) }+> {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, Nothing, t) } -----------------------------------------------------------------------------+Deriving strategies++> deriv_strategy_no_via :: { DerivStrategy L }+> : 'stock' {% do { checkEnabled DerivingStrategies+> ; return (DerivStock (nIS $1)) } }+> | 'anyclass' {% do { checkEnabled DerivingStrategies+> ; checkEnabled DeriveAnyClass+> ; return (DerivAnyclass (nIS $1)) } }+> | 'newtype' {% do { checkEnabled DerivingStrategies+> ; checkEnabled GeneralizedNewtypeDeriving+> ; return (DerivNewtype (nIS $1)) } }++> deriv_strategy_via :: { DerivStrategy L }+> : 'via' truedtype {% do { checkEnabled DerivingVia+> ; return (DerivVia (nIS $1) $2) } }++> deriv_standalone_strategy :: { Maybe (DerivStrategy L) }+> : deriv_strategy_no_via { Just $1 }+> | deriv_strategy_via { Just $1 }+> | {- empty -} { Nothing }++----------------------------------------------------------------------------- Miscellaneous (mostly renamings) > modid :: { ModuleName L }@@ -1983,16 +2218,17 @@ > | 'safe' { safe_name (nIS $1) } > | 'unsafe' { unsafe_name (nIS $1) } > | 'threadsafe' { threadsafe_name (nIS $1) }- | 'forall' { forall_name (nIS $1) }- | 'family' { family_name (nIS $1) }+ | 'forall' { forall_name (nIS $1) }+ | 'family' { family_name (nIS $1) } -> qtyvarop :: { QName L }-> qtyvarop : '`' tyvar '`' { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }-> | tyvarsym { UnQual (ann $1) $1 }+> qtyvarop_(ostar) :: { QName L }+> qtyvarop_ : '`' tyvar '`' { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+> | tyvarsym_(ostar) { UnQual (ann $1) $1 } -> tyvarsym :: { Name L }+> tyvarsym_(ostar) :: { Name L } > tyvarsym : VARSYM { let Loc l (VarSym x) = $1 in Symbol (nIS l) x } > | '-' { Symbol (nIS $1) "-" }+> | ostar { Symbol (nIS $1) "*" } > impdeclsblock :: { ([ImportDecl L],[S],L) } > : '{' optsemis impdecls optsemis '}' { let (ids, ss) = $3 in (ids, $1 : reverse $2 ++ ss ++ reverse $4 ++ [$5], $1 <^^> $5) }
src/Language/Haskell/Exts/Lexer.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Lexer
src/Language/Haskell/Exts/ParseMonad.hs view
@@ -1,7 +1,9 @@+{-# LANGUAGE CPP, Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- |--- Module : Language.Haskell.Exts.Annotated.ParseMonad+-- Module : Language.Haskell.Exts.ParseMonad -- Copyright : Niklas Broberg (c) 2004-2009, -- Original (c) The GHC Team, 1997-2000 -- License : BSD-style (see the file libraries/base/LICENSE)@@ -24,7 +26,8 @@ getSrcLoc, pushCurrentContext, popContext, getExtensions, getIgnoreFunctionArity, -- * Lexing- Lex(runL), getInput, discard, lexNewline, lexTab, lexWhile, lexWhile_,+ Lex(runL), getInput, discard, getLastChar, lexNewline,+ lexTab, lexWhile, lexWhile_, alternative, checkBOL, setBOL, startToken, getOffside, pushContextL, popContextL, getExtensionsL, addExtensionL, saveExtensionsL, restoreExtensionsL, pushComment,@@ -44,7 +47,13 @@ import Data.List (intercalate) import Control.Applicative import Control.Monad (when, liftM, ap)-import Data.Monoid+import qualified Control.Monad.Fail as Fail+import Data.Monoid hiding ((<>))+#if !MIN_VERSION_base(4,13,0)+import Data.Semigroup (Semigroup(..))+#endif+-- To avoid import warnings for Control.Applicative, Data.Monoid, and Data.Semigroup+import Prelude -- | Class providing function for parsing at many different types. --@@ -71,7 +80,7 @@ | ParseFailed SrcLoc String -- ^ The parse failed at the specified -- source location, with an error message.- deriving Show+ deriving (Show, Ord, Eq) -- | Retrieve the result of a successful parse, throwing an -- error if the parse is actually not successful.@@ -90,17 +99,21 @@ ParseFailed loc msg <*> _ = ParseFailed loc msg instance Monad ParseResult where- return = ParseOk- fail = ParseFailed noLoc+#if !MIN_VERSION_base(4,13,0)+ fail = Fail.fail+#endif ParseOk x >>= f = f x ParseFailed loc msg >>= _ = ParseFailed loc msg+instance Fail.MonadFail ParseResult where+ fail = ParseFailed noLoc -instance Monoid m => Monoid (ParseResult m) where- mempty = ParseOk mempty- ParseOk x `mappend` ParseOk y = ParseOk $ x `mappend` y- ParseOk _ `mappend` err = err- err `mappend` _ = err -- left-biased+instance Semigroup m => Semigroup (ParseResult m) where+ ParseOk x <> ParseOk y = ParseOk $ x <> y+ ParseOk _ <> err = err+ err <> _ = err -- left-biased +instance ( Monoid m , Semigroup m) => Monoid (ParseResult m) where+ mempty = ParseOk mempty -- internal version data ParseStatus a = Ok ParseState a | Failed SrcLoc String@@ -189,6 +202,7 @@ -> Int -- current column -> Int -- current line -> SrcLoc -- location of last token read+ -> Char -- Last token read used for lexing TypeApplication UGH -> ParseState -- layout info. -> InternalParseMode -- parse parameters -> ParseStatus a@@ -211,7 +225,7 @@ runParserWithModeComments :: ParseMode -> P a -> String -> ParseResult (a, [Comment]) runParserWithModeComments mode = let mode2 = toInternalParseMode mode in \(P m) s ->- case m s 0 1 start ([],[],[],(False,False),[]) mode2 of+ case m s 0 1 start '\n' ([],[],[],(False,False),[]) mode2 of Ok (_,_,_,_,cs) a -> ParseOk (a, reverse cs) Failed loc msg -> ParseFailed loc msg where start = SrcLoc {@@ -227,25 +241,29 @@ fmap = liftM instance Applicative P where- pure = return+ pure a = P $ \_i _x _y _l _ch s _m -> Ok s a (<*>) = ap instance Monad P where- return a = P $ \_i _x _y _l s _m -> Ok s a- P m >>= k = P $ \i x y l s mode ->- case m i x y l s mode of+ P m >>= k = P $ \i x y l ch s mode ->+ case m i x y l ch s mode of Failed loc msg -> Failed loc msg- Ok s' a -> runP (k a) i x y l s' mode- fail s = P $ \_r _col _line loc _stk _m -> Failed loc s+ Ok s' a -> runP (k a) i x y l ch s' mode+#if !MIN_VERSION_base(4,13,0)+ fail = Fail.fail+#endif +instance Fail.MonadFail P where+ fail s = P $ \_r _col _line loc _ _stk _m -> Failed loc s+ atSrcLoc :: P a -> SrcLoc -> P a-P m `atSrcLoc` loc = P $ \i x y _l -> m i x y loc+P m `atSrcLoc` loc = P $ \i x y _l ch -> m i x y loc ch getSrcLoc :: P SrcLoc-getSrcLoc = P $ \_i _x _y l s _m -> Ok s l+getSrcLoc = P $ \_i _x _y l _ s _m -> Ok s l getModuleName :: P String-getModuleName = P $ \_i _x _y _l s m ->+getModuleName = P $ \_i _x _y _l _ch s m -> let fn = iParseFilename m mn = intercalate "." $ splitPath fn @@ -276,15 +294,15 @@ pushContext (Layout loc) currentIndent :: P Int-currentIndent = P $ \_r _x _y _ stk _mode -> Ok stk (indentOfParseState stk)+currentIndent = P $ \_r _x _y _ _ stk _mode -> Ok stk (indentOfParseState stk) pushContext :: LexContext -> P () pushContext ctxt = --trace ("pushing lexical scope: " ++ show ctxt ++"\n") $- P $ \_i _x _y _l (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) ()+ P $ \_i _x _y _l _ (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) () popContext :: P ()-popContext = P $ \_i _x _y loc stk _m ->+popContext = P $ \_i _x _y loc _ stk _m -> case stk of (_:s, exts, e, p, c) -> --trace ("popping lexical scope, context now "++show s ++ "\n") $ Ok (s, exts, e, p, c) ()@@ -305,20 +323,20 @@ -- Extension-aware lexing/parsing getExtensions :: P [KnownExtension]-getExtensions = P $ \_i _x _y _l s m ->+getExtensions = P $ \_i _x _y _l _ s m -> Ok s $ iExtensions m pushCtxtFlag :: P () pushCtxtFlag =- P $ \_i _x _y _l (s, exts, e, (d,c), cs) _m -> case c of+ P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> case c of False -> Ok (s, exts, e, (d,True), cs) () _ -> error "Internal error: context flag already pushed" pullDoStatus :: P Bool-pullDoStatus = P $ \_i _x _y _l (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d+pullDoStatus = P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d getIgnoreFunctionArity :: P Bool-getIgnoreFunctionArity = P $ \_i _x _y _l s m ->+getIgnoreFunctionArity = P $ \_i _x _y _l _ s m -> Ok s $ iIgnoreFunctionArity m @@ -334,13 +352,17 @@ fmap = liftM instance Applicative (Lex r) where- pure = return+ pure a = Lex $ \k -> k a (<*>) = ap instance Monad (Lex r) where- return a = Lex $ \k -> k a Lex v >>= f = Lex $ \k -> v (\a -> runL (f a) k) Lex v >> Lex w = Lex $ \k -> v (\_ -> w k)+#if !MIN_VERSION_base(4,13,0)+ fail = Fail.fail+#endif++instance Fail.MonadFail (Lex r) where fail s = Lex $ \_ -> fail s -- Operations on this monad@@ -351,15 +373,24 @@ -- | Discard some input characters (these must not include tabs or newlines). discard :: Int -> Lex r ()-discard n = Lex $ \cont -> P $ \r x -> runP (cont ()) (drop n r) (x+n)+discard n = Lex $ \cont -> P $ \r x y loc ch+ -> let (newCh:rest)= if n > 0 then drop (n-1) r else (ch:r)+ in runP (cont ()) rest (x+n) y loc newCh +-- | Get the last discarded character.+-- This is only used for type application.++getLastChar :: Lex r Char+getLastChar = Lex $ \cont -> P $ \r x y loc ch -> runP (cont ch) r x y loc ch++ -- | Discard the next character, which must be a newline. lexNewline :: Lex a ()-lexNewline = Lex $ \cont -> P $ \rs _x y loc ->+lexNewline = Lex $ \cont -> P $ \rs _x y loc -> case rs of (_:r) -> runP (cont ()) r 1 (y+1) loc- [] -> \_ _ -> Failed loc "Lexer: expected newline."+ [] -> \_ _ _ -> Failed loc "Lexer: expected newline." -- | Discard the next character, which must be a tab. @@ -375,9 +406,9 @@ -- Consume and return the largest string of characters satisfying p lexWhile :: (Char -> Bool) -> Lex a String-lexWhile p = Lex $ \cont -> P $ \rss c l ->+lexWhile p = Lex $ \cont -> P $ \rss c l loc char -> case rss of- [] -> runP (cont []) [] c l+ [] -> runP (cont []) [] c l loc char (r:rs) -> let l' = case r of@@ -387,8 +418,8 @@ '\n' -> 1 _ -> c + 1 in if p r- then runP (runL ((r:) <$> lexWhile p) cont) rs c' l'- else runP (cont []) (r:rs) c l+ then runP (runL ((r:) <$> lexWhile p) cont) rs c' l' loc r+ else runP (cont []) (r:rs) c l loc char -- | lexWhile without the return value. lexWhile_ :: (Char -> Bool) -> Lex a ()@@ -429,13 +460,13 @@ -- Set the loc to the current position startToken :: Lex a ()-startToken = Lex $ \cont -> P $ \s x y _ stk mode ->+startToken = Lex $ \cont -> P $ \s x y _ c stk mode -> let loc = SrcLoc { srcFilename = iParseFilename mode, srcLine = y, srcColumn = x } in- runP (cont ()) s x y loc stk mode+ runP (cont ()) s x y loc c stk mode -- Current status with respect to the offside (layout) rule: -- LT: we are to the left of the current indent (if any)@@ -443,8 +474,8 @@ -- GT: we are to the right of the current indent, or not subject to layout getOffside :: Lex a Ordering-getOffside = Lex $ \cont -> P $ \r x y loc stk ->- runP (cont (compare x (indentOfParseState stk))) r x y loc stk+getOffside = Lex $ \cont -> P $ \r x y loc ch stk ->+ runP (cont (compare x (indentOfParseState stk))) r x y loc ch stk getSrcLocL :: Lex a SrcLoc getSrcLocL = Lex $ \cont -> P $ \i x y l ->@@ -455,79 +486,79 @@ runP (cont ()) i x y pushContextL :: LexContext -> Lex a ()-pushContextL ctxt = Lex $ \cont -> P $ \r x y loc (stk, exts, e, pst, cs) ->- runP (cont ()) r x y loc (ctxt:stk, exts, e, pst, cs)+pushContextL ctxt = Lex $ \cont -> P $ \r x y loc ch (stk, exts, e, pst, cs) ->+ runP (cont ()) r x y loc ch (ctxt:stk, exts, e, pst, cs) popContextL :: String -> Lex a ()-popContextL _ = Lex $ \cont -> P $ \r x y loc stk m -> case stk of- (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc (ctxt, exts, e, pst, cs) m+popContextL _ = Lex $ \cont -> P $ \r x y loc ch stk m -> case stk of+ (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc ch (ctxt, exts, e, pst, cs) m ([], _, _, _, _) -> Failed loc "Unexpected }" pullCtxtFlag :: Lex a Bool-pullCtxtFlag = Lex $ \cont -> P $ \r x y loc (ct, exts, e, (d,c), cs) ->- runP (cont c) r x y loc (ct, exts, e, (d,False), cs)+pullCtxtFlag = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (d,c), cs) ->+ runP (cont c) r x y loc ch (ct, exts, e, (d,False), cs) flagDo :: Lex a ()-flagDo = Lex $ \cont -> P $ \r x y loc (ct, exts, e, (_,c), cs) ->- runP (cont ()) r x y loc (ct, exts, e, (True,c), cs)+flagDo = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (_,c), cs) ->+ runP (cont ()) r x y loc ch (ct, exts, e, (True,c), cs) -- Harp/Hsx getExtContext :: Lex a (Maybe ExtContext)-getExtContext = Lex $ \cont -> P $ \r x y loc stk@(_, _, e, _, _) ->+getExtContext = Lex $ \cont -> P $ \r x y loc ch stk@(_, _, e, _, _) -> let me = case e of [] -> Nothing (c:_) -> Just c- in runP (cont me) r x y loc stk+ in runP (cont me) r x y loc ch stk pushExtContextL :: ExtContext -> Lex a ()-pushExtContextL ec = Lex $ \cont -> P $ \r x y loc (s, exts, e, p, c) ->- runP (cont ()) r x y loc (s, exts, ec:e, p, c)+pushExtContextL ec = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, c) ->+ runP (cont ()) r x y loc ch (s, exts, ec:e, p, c) popExtContextL :: String -> Lex a ()-popExtContextL fn = Lex $ \cont -> P $ \r x y loc (s,exts,e,p,c) m -> case e of- (_:ec) -> runP (cont ()) r x y loc (s,exts,ec,p,c) m+popExtContextL fn = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case e of+ (_:ec) -> runP (cont ()) r x y loc ch (s,exts,ec,p,c) m [] -> Failed loc ("Internal error: empty tag context in " ++ fn) -- Extension-aware lexing getExtensionsL :: Lex a [KnownExtension]-getExtensionsL = Lex $ \cont -> P $ \r x y loc s m ->- runP (cont $ iExtensions m) r x y loc s m+getExtensionsL = Lex $ \cont -> P $ \r x y loc ch s m ->+ runP (cont $ iExtensions m) r x y loc ch s m -- | Add an extension to the current configuration. addExtensionL :: KnownExtension -> Lex a ()-addExtensionL ext = Lex $ \cont -> P $ \r x y loc (s, oldExts, e, p, c) m ->+addExtensionL ext = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m -> let newExts = impliesExts [ext] ++ iExtensions m- in runP (cont ()) r x y loc (s, oldExts, e, p, c) (m {iExtensions = newExts})+ in runP (cont ()) r x y loc ch (s, oldExts, e, p, c) (m {iExtensions = newExts}) -- | Save the current configuration of extensions. saveExtensionsL :: Lex a ()-saveExtensionsL = Lex $ \cont -> P $ \r x y loc (s, oldExts, e, p, c) m ->- runP (cont ()) r x y loc (s, iExtensions m:oldExts, e, p, c) m+saveExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->+ runP (cont ()) r x y loc ch (s, iExtensions m:oldExts, e, p, c) m -- | Return to the previous saved extensions configuration. restoreExtensionsL :: Lex a ()-restoreExtensionsL = Lex $ \cont -> P $ \r x y loc (s,exts,e,p,c) m -> case exts of- (_:prev) -> runP (cont ()) r x y loc (s,prev,e,p,c) m+restoreExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case exts of+ (_:prev) -> runP (cont ()) r x y loc ch (s,prev,e,p,c) m _ -> Failed loc "Internal error: empty extension stack" -- LINE-aware lexing ignoreLinePragmasL :: Lex a Bool-ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc s m ->- runP (cont $ iIgnoreLinePragmas m) r x y loc s m+ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc c s m ->+ runP (cont $ iIgnoreLinePragmas m) r x y loc c s m -- If we read a file name in a LINE pragma, we should update the state. setLineFilenameL :: String -> Lex a ()-setLineFilenameL name = Lex $ \cont -> P $ \r x y loc s m ->- runP (cont ()) r x y loc s (m {iParseFilename = name})+setLineFilenameL name = Lex $ \cont -> P $ \r x y loc ch s m ->+ runP (cont ()) r x y loc ch s (m {iParseFilename = name}) -- Comments pushComment :: Comment -> Lex a ()-pushComment c = Lex $ \cont -> P $ \r x y loc (s, exts, e, p, cs) ->- runP (cont ()) r x y loc (s, exts, e, p, c:cs)+pushComment c = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, cs) ->+ runP (cont ()) r x y loc ch (s, exts, e, p, c:cs)
src/Language/Haskell/Exts/ParseSyntax.hs view
@@ -2,14 +2,15 @@ {-# OPTIONS_HADDOCK hide #-} module Language.Haskell.Exts.ParseSyntax where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Promoted(..) )+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Promoted(..) ) --------------------------------------- -- Expressions as we parse them (and patterns, and regular patterns) data PExp l = Var l (QName l) -- ^ variable+ | OverloadedLabel l String -- ^ overloaded label #foo | IPVar l (IPName l) -- ^ implicit parameter variable | Con l (QName l) -- ^ data constructor | Lit l (Literal l) -- ^ literal constant@@ -25,12 +26,11 @@ -- the last statement in the list -- should be an expression. | MDo l [Stmt l] -- ^ @mdo@-expression--- | Tuple [PExp] -- ^ tuple expression | TupleSection l Boxed [Maybe (PExp l)] -- ^ tuple section expression, e.g. @(,,3)@+ | UnboxedSum l Int Int (PExp l) -- ^ Unboxed sum | List l [PExp l] -- ^ list expression | ParArray l [PExp l] -- ^ parallel array expression | Paren l (PExp l) -- ^ parenthesized expression--- RightSection QOp PExp -- ^ right section @(@/qop/ /exp/@)@ | RecConstr l (QName l) [PFieldUpdate l] -- ^ record construction expression | RecUpdate l (PExp l) [PFieldUpdate l]@@ -101,9 +101,11 @@ | RightArrApp l (PExp l) (PExp l) -- ^ e >- e | LeftArrHighApp l (PExp l) (PExp l) -- ^ e -<< e | RightArrHighApp l (PExp l) (PExp l) -- ^ e >>- e+ | ArrOp l (PExp l) -- ^ (| e |) -- LambdaCase | LCase l [Alt l] -- ^ @\case@ /alts/+ | TypeApp l (S.Type l) deriving (Eq,Show,Functor) data PFieldUpdate l@@ -118,6 +120,7 @@ instance Annotated PExp where ann e = case e of Var l _ -> l+ OverloadedLabel l _ -> l IPVar l _ -> l Con l _ -> l Lit l _ -> l@@ -131,6 +134,7 @@ Do l _ -> l MDo l _ -> l TupleSection l _ _ -> l+ UnboxedSum l _ _ _ -> l List l _ -> l ParArray l _ -> l Paren l _ -> l@@ -180,12 +184,16 @@ RightArrApp l _ _ -> l LeftArrHighApp l _ _ -> l RightArrHighApp l _ _ -> l+ ArrOp l _ -> l LCase l _ -> l MultiIf l _ -> l+ TypeApp l _ -> l + amap f e' = case e' of Var l qn -> Var (f l) qn+ OverloadedLabel l qn -> OverloadedLabel (f l) qn IPVar l ipn -> IPVar (f l) ipn Con l qn -> Con (f l) qn Lit l lit -> Lit (f l) lit@@ -199,6 +207,7 @@ Do l ss -> Do (f l) ss MDo l ss -> MDo (f l) ss TupleSection l bx mes -> TupleSection (f l) bx mes+ UnboxedSum l b a e -> UnboxedSum (f l) b a e List l es -> List (f l) es ParArray l es -> ParArray (f l) es Paren l e -> Paren (f l) e@@ -248,9 +257,11 @@ RightArrApp l e1 e2 -> RightArrApp (f l) e1 e2 LeftArrHighApp l e1 e2 -> LeftArrHighApp (f l) e1 e2 RightArrHighApp l e1 e2 -> RightArrHighApp (f l) e1 e2+ ArrOp l e -> ArrOp (f l) e LCase l alts -> LCase (f l) alts MultiIf l alts -> MultiIf (f l) alts+ TypeApp l ty -> TypeApp (f l) ty instance Annotated PFieldUpdate where ann (FieldUpdate l _ _) = l@@ -292,8 +303,10 @@ (Maybe [TyVarBind l]) (Maybe (PContext l)) (PType l)+ | TyStar l -- ^ @*@, the type of types | TyFun l (PType l) (PType l) -- ^ function type | TyTuple l Boxed [PType l] -- ^ tuple type, possibly boxed+ | TyUnboxedSum l [PType l] -- ^ unboxed sum | TyList l (PType l) -- ^ list syntax, e.g. [a], as opposed to [] a | TyParArray l (PType l) -- ^ parallel array syntax, e.g. [:a:] | TyApp l (PType l) (PType l) -- ^ application of a type constructor@@ -301,19 +314,23 @@ | TyCon l (QName l) -- ^ named type or type constructor | TyParen l (PType l) -- ^ type surrounded by parentheses | TyPred l (PAsst l) -- ^ assertion of an implicit parameter- | TyInfix l (PType l) (QName l) (PType l) -- ^ infix type constructor+ | TyInfix l (PType l) (MaybePromotedName l) (PType l) -- ^ infix type constructor | TyKind l (PType l) (Kind l) -- ^ type with explicit kind signature | TyPromoted l (S.Promoted l) -- ^ promoted data type+ | TyEquals l (PType l) (PType l) -- ^ type equality constraint | TySplice l (Splice l) -- ^ template haskell splice type- | TyBang l (BangType l) (PType l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.+ | TyBang l (BangType l) (Unpackedness l) (PType l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma. | TyWildCard l (Maybe (Name l)) -- ^ Type wildcard+ | TyQuasiQuote l String String -- ^ @[qq| |]@ deriving (Eq, Show, Functor) instance Annotated PType where ann t = case t of TyForall l _ _ _ -> l+ TyStar l -> l TyFun l _ _ -> l TyTuple l _ _ -> l+ TyUnboxedSum l _ -> l TyList l _ -> l TyParArray l _ -> l TyApp l _ _ -> l@@ -323,14 +340,18 @@ TyInfix l _ _ _ -> l TyKind l _ _ -> l TyPromoted l _ -> l+ TyEquals l _ _ -> l TyPred l _ -> l TySplice l _ -> l- TyBang l _ _ -> l+ TyBang l _ _ _ -> l TyWildCard l _ -> l+ TyQuasiQuote l _ _ -> l amap f t' = case t' of TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t+ TyStar l -> TyStar (f l) TyFun l t1 t2 -> TyFun (f l) t1 t2 TyTuple l b ts -> TyTuple (f l) b ts+ TyUnboxedSum l ts -> TyUnboxedSum (f l) ts TyList l t -> TyList (f l) t TyParArray l t -> TyParArray (f l) t TyApp l t1 t2 -> TyApp (f l) t1 t2@@ -340,45 +361,25 @@ TyInfix l ta qn tb -> TyInfix (f l) ta qn tb TyKind l t k -> TyKind (f l) t k TyPromoted l p -> TyPromoted (f l) p+ TyEquals l t1 t2 -> TyEquals (f l) t1 t2 TyPred l asst -> TyPred (f l) asst TySplice l s -> TySplice (f l) s- TyBang l b t -> TyBang (f l) b t+ TyBang l b u t -> TyBang (f l) b u t TyWildCard l mn -> TyWildCard (f l) mn+ TyQuasiQuote l n s -> TyQuasiQuote (f l) n s data PAsst l- = ClassA l (QName l) [PType l]- | AppA l (Name l) [PType l]- | InfixA l (PType l) (QName l) (PType l)+ = TypeA l (PType l) | IParam l (IPName l) (PType l)- | EqualP l (PType l) (PType l) | ParenA l (PAsst l)- | WildCardA l (Maybe (Name l)) deriving (Eq, Show, Functor) instance Annotated PAsst where ann asst = case asst of- ClassA l _ _ -> l- AppA l _ _ -> l- InfixA l _ _ _ -> l+ TypeA l _ -> l IParam l _ _ -> l- EqualP l _ _ -> l ParenA l _ -> l- WildCardA l _ -> l amap f asst = case asst of- ClassA l qn ts -> ClassA (f l) qn ts- AppA l t ts -> AppA (f l) t ts- InfixA l ta qn tb -> InfixA (f l) ta qn tb+ TypeA l t -> TypeA (f l) t IParam l ipn t -> IParam (f l) ipn t- EqualP l t1 t2 -> EqualP (f l) t1 t2 ParenA l a -> ParenA (f l) a- WildCardA l mn -> WildCardA (f l) mn---unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> PType l-unit_tycon l = TyCon l (unit_tycon_name l)-fun_tycon l = TyCon l (fun_tycon_name l)-list_tycon l = TyCon l (list_tycon_name l)-unboxed_singleton_tycon l = TyCon l (unboxed_singleton_tycon_name l)--tuple_tycon :: l -> Boxed -> Int -> PType l-tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)
src/Language/Haskell/Exts/ParseUtils.hs view
@@ -1,4 +1,6 @@ {-# OPTIONS_HADDOCK hide #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE PatternGuards #-} ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.ParseUtils@@ -53,6 +55,9 @@ , getGConName -- S.Exp -> P QName , mkTyForall -- Maybe [TyVarBind] -> PContext -> PType -> PType , mkRoleAnnotDecl --+ , mkAssocType+ , mkEThingWith+ , splitTilde -- HaRP , checkRPattern -- PExp -> P RPat -- Hsx@@ -66,15 +71,18 @@ -- Helpers , updateQNameLoc -- l -> QName l -> QName l + , SumOrTuple(..), mkSumOrTuple+ -- Parsed expressions and types , PExp(..), PFieldUpdate(..), ParseXAttr(..), PType(..), PContext, PAsst(..) , p_unit_con -- PExp , p_tuple_con -- Boxed -> Int -> PExp , p_unboxed_singleton_con -- PExp+ , pexprToQName ) where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..))+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..)) import Language.Haskell.Exts.ParseSyntax import Language.Haskell.Exts.ParseMonad@@ -86,14 +94,21 @@ import Prelude hiding (mod) import Data.List (intercalate, intersperse) import Data.Maybe (fromJust, fromMaybe)+import Data.Either import Control.Monad (when,unless)-import Control.Applicative (Applicative (..), (<$>)) ---- import Debug.Trace (trace)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative ((<$>))+#endif type L = SrcSpanInfo type S = SrcSpan +pexprToQName :: PExp l -> P (QName l)+pexprToQName (Con _ qn) = return qn+pexprToQName (List l []) = return $ Special l (ListCon l)+pexprToQName _ = fail "pexprToQName"+ splitTyConApp :: PType L -> P (Name L, [S.Type L]) splitTyConApp t0 = do (n, pts) <- split t0 []@@ -103,7 +118,7 @@ split :: PType L -> [PType L] -> P (Name L, [PType L]) split (TyApp _ t u) ts = split t (u:ts) split (TyCon _ (UnQual _ t)) ts = return (t,ts)- split (TyInfix l a op b) ts = split (TyCon l op) (a:b:ts)+ split (TyInfix l a op b) ts = split (TyCon l (getMaybePromotedQName op)) (a:b:ts) split _ _ = fail "Illegal data/newtype declaration" -----------------------------------------------------------------------------@@ -162,23 +177,9 @@ checkPContext (TyParen l t) = do c <- checkAssertion t return $ CxSingle l (ParenA l c)-checkPContext (TyPred _ p@(EqualP l _ _)) =- -- Depending on where EqualP is found, it may contain either 1 or 2 info- -- points.- --- -- If it's by itself, it contains two: one for the tilde, another for =>.- -- The => position is important to have in CxSingle, but for EqualP- -- itself it's not needed.- --- -- If it's parsed as an element of a tuple (a ~ b, ...), then it only- -- contains one info point. (But that case is handled in a different- -- branch.)- let- withInfoPoints f info = info {srcInfoPoints = f (srcInfoPoints info)}- in- return $- CxSingle (withInfoPoints (drop 1) l) $- amap (withInfoPoints $ take 1) p+checkPContext t@(TyEquals tp _ _) = do+ checkEnabledOneOf [TypeFamilies, GADTs]+ return $ CxSingle tp $ TypeA tp t checkPContext t = do c <- checkAssertion t@@ -193,33 +194,57 @@ checkAssertion (TyParen l asst) = do asst' <- checkAssertion asst return $ ParenA l asst'-checkAssertion (TyPred _ p@(IParam _ _ _)) = return p+checkAssertion (TyPred _ p) = checkAAssertion p -- We cannot even get here unless TypeFamilies or GADTs is enabled. -- N.B.: this is called only when the equality assertion is part of a -- tuple-checkAssertion (TyPred _ p@(EqualP _ _ _)) = return p-checkAssertion t' = checkAssertion' id [] t'+checkAssertion t' = do+ t'' <- checkAssertion' id [] t'+ return $ TypeA (ann t'') t'' where -- class assertions must have at least one argument+ checkAssertion' _ _ t@(TyEquals _ _ _) = return t checkAssertion' fl ts (TyCon l c) = do- when (length ts /= 1) $ checkEnabled MultiParamTypeClasses+ when (length ts < 1) $ checkEnabled FlexibleContexts checkAndWarnTypeOperators c- return $ ClassA (fl l) c ts+ return $ tyApps (fl l) (TyCon (fl l) c) ts checkAssertion' fl ts (TyApp l a t) = -- no check on t at this stage checkAssertion' (const (fl l)) (t:ts) a checkAssertion' fl _ (TyInfix l a op b) = do -- infix operators require TypeOperators- checkAndWarnTypeOperators op- return $ InfixA (fl l) a op b+ checkAndWarnTypeOperators (getMaybePromotedQName op)+ return $ TyInfix (fl l) a op b checkAssertion' fl ts (TyParen l t) = checkAssertion' (const (fl l)) ts t checkAssertion' fl ts (TyVar l t) = do -- Dict :: cxt => Dict cxt checkEnabled ConstraintKinds- return $ AppA (fl l) t (reverse ts)- checkAssertion' _ _ (TyWildCard l wc) =- return $ WildCardA l wc- checkAssertion' _ _ _ = fail "Illegal class assertion"+ return $ tyApps (fl l) (TyVar (fl l) t) ts+ checkAssertion' _ _ t@(TyWildCard _ _) = return t+ checkAssertion' _ _ t = do+ checkEnabled QuantifiedConstraints -- anything goes+ return t+ tyApps :: L -> PType L -> [PType L] -> PType L+ tyApps _ c [] = c+ tyApps l c (a:aa) = tyApps l (TyApp l c a) aa +checkAAssertion :: PAsst L -> P (PAsst L)+checkAAssertion (TypeA _ t) = checkAssertion t+checkAAssertion (ParenA l a) = do+ a' <- checkAAssertion a+ return $ ParenA l a'+checkAAssertion p = return p++-- Check class/instance declaration for multiparams+checkMultiParam :: PType L -> P ()+checkMultiParam = checkMultiParam' []+ where+ checkMultiParam' ts (TyCon _ _) =+ when (length ts /= 1) $ checkEnabled MultiParamTypeClasses+ checkMultiParam' ts (TyApp _ a t) = checkMultiParam' (t:ts) a+ checkMultiParam' _ (TyInfix _ _ _ _) = checkEnabled MultiParamTypeClasses+ checkMultiParam' ts (TyParen _ t) = checkMultiParam' ts t+ checkMultiParam' _ _ = return ()+ getSymbol :: QName L -> Maybe String getSymbol (UnQual _ (Symbol _ s)) = Just s getSymbol (Qual _ _ (Symbol _ s)) = Just s@@ -240,8 +265,8 @@ checkSContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkSContext (Just ctxt) = case ctxt of CxEmpty l -> return $ Just $ S.CxEmpty l- CxSingle l a -> checkAsst True a >>= return . Just . S.CxSingle l- CxTuple l as -> mapM (checkAsst True) as >>= return . Just . S.CxTuple l+ CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+ CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkSContext _ = return Nothing -- Checks ordinary contexts for sigtypes and data type@@ -251,52 +276,23 @@ checkContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkContext (Just ctxt) = case ctxt of CxEmpty l -> return $ Just $ S.CxEmpty l- CxSingle l a -> checkAsst False a >>= return . Just . S.CxSingle l- CxTuple l as -> mapM (checkAsst False) as >>= return . Just . S.CxTuple l+ CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+ CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkContext _ = return Nothing -checkAsst :: Bool -> PAsst L -> P (S.Asst L)-checkAsst isSimple asst =+checkAsst :: PAsst L -> P (S.Asst L)+checkAsst asst = case asst of- ClassA l qn pts -> do- ts <- mapM (checkAsstParam isSimple) pts- return $ S.ClassA l qn ts- AppA l n pts -> do- ts <- mapM (checkAsstParam isSimple) pts- return $ S.AppA l n ts- InfixA l a op b -> do- [a',b'] <- mapM (checkAsstParam isSimple) [a,b]- return $ S.InfixA l a' op b'+ TypeA l pt -> do+ t <- checkType pt+ return $ S.TypeA l t IParam l ipn pt -> do t <- checkType pt return $ S.IParam l ipn t- EqualP l pa pb -> do- a <- checkType pa- b <- checkType pb- return $ S.EqualP l a b ParenA l a -> do- a' <- checkAsst isSimple a+ a' <- checkAsst a return $ S.ParenA l a'- WildCardA l a ->- if isSimple then fail "Malformed Context: WildCards not allowed in simple contexts"- else return $ S.WildCardA l a -checkAsstParam :: Bool -> PType L -> P (S.Type L)-checkAsstParam isSimple t = do- exts <- getExtensions- if FlexibleContexts `elem` exts- then checkType t- else case t of- TyVar l n -> return $ S.TyVar l n- TyWildCard l mn -> return $ S.TyWildCard l mn- TyParen l t1 -> do t1' <- checkAsstParam isSimple t1- return $ S.TyParen l t1'- TyApp l pf pt | not isSimple -> do- f <- checkAsstParam isSimple pf- t' <- checkType pt- return $ S.TyApp l f t'- _ -> fail "Malformed context: FlexibleContexts is not enabled"- ----------------------------------------------------------------------------- -- Checking Headers @@ -312,10 +308,12 @@ checkClassHeader :: PType L -> P (Maybe (S.Context L), DeclHead L) checkClassHeader (TyForall _ Nothing cs t) = do+ checkMultiParam t dh <- checkSimple "class" t cs' <- checkSContext cs return (cs',dh) checkClassHeader t = do+ checkMultiParam t dh <- checkSimple "class" t return (Nothing,dh) @@ -326,7 +324,9 @@ tvb <- mkTyVarBind kw t h' <- checkSimple kw h return $ DHApp l h' tvb-checkSimple kw (TyInfix l t1 c@(UnQual _ t) t2) = do+checkSimple kw (TyInfix l t1 mq t2)+ | c@(UnQual _ t) <- getMaybePromotedQName mq+ = do checkAndWarnTypeOperators c tv1 <- mkTyVarBind kw t1 tv2 <- mkTyVarBind kw t2@@ -362,8 +362,9 @@ checkInstHeader (TyParen l t) = checkInstHeader t >>= return . IParen l checkInstHeader (TyForall l mtvs cs t) = do cs' <- checkSContext cs+ checkMultiParam t checkInsts (Just l) mtvs cs' t-checkInstHeader t = checkInsts Nothing Nothing Nothing t+checkInstHeader t = checkMultiParam t >> checkInsts Nothing Nothing Nothing t checkInsts :: Maybe L -> Maybe [TyVarBind L] -> Maybe (S.Context L) -> PType L -> P (InstRule L)@@ -381,9 +382,9 @@ checkAndWarnTypeOperators c return $ IHCon l c checkInstsGuts (TyInfix l a op b) = do- checkAndWarnTypeOperators op+ checkAndWarnTypeOperators (getMaybePromotedQName op) [ta,tb] <- checkTypes [a,b]- return $ IHApp l (IHInfix l ta op) tb+ return $ IHApp l (IHInfix l ta (getMaybePromotedQName op)) tb checkInstsGuts (TyParen l t) = checkInstsGuts t >>= return . IHParen l checkInstsGuts _ = fail "Illegal instance declaration" @@ -415,6 +416,7 @@ checkPat l (ps++args) checkPat e' [] = case e' of Var _ (UnQual l x) -> return (PVar l x)+ Var _ (Special l (ExprHole _)) -> return (PWildCard l) Lit l lit -> return (PLit l (Signless l2) lit) where l2 = noInfoSpan . srcInfoSpan $ l InfixApp loc l op r ->@@ -437,6 +439,8 @@ then do ps <- mapM (\e -> checkPat e []) (map fromJust mes) return (PTuple l bx ps) else fail "Illegal tuple section in pattern"+ UnboxedSum l b a e ->+ PUnboxedSum l b a <$> checkPattern e List l es -> do ps <- mapM checkRPattern es@@ -508,7 +512,8 @@ rps <- mapM checkRPattern es return (PXRPats l $ map fixRPOpPrec rps) - -- QuasiQuotation+ -- Template Haskell+ SpliceExp l e -> return $ PSplice l e QuasiQuote l n q -> return $ PQuasiQuote l n q -- BangPatterns@@ -636,6 +641,7 @@ checkExpr :: PExp L -> P (S.Exp L) checkExpr e' = case e' of Var l v -> return $ S.Var l v+ OverloadedLabel l v -> return $ S.OverloadedLabel l v IPVar l v -> return $ S.IPVar l v Con l c -> return $ S.Con l c Lit l lit -> return $ S.Lit l lit@@ -658,6 +664,7 @@ else do checkEnabled TupleSections mes' <- mapM mCheckExpr mes return $ S.TupleSection l bx mes'+ UnboxedSum l before after e -> S.UnboxedSum l before after <$> checkExpr e List l es -> checkManyExprs es (S.List l)@@ -730,12 +737,13 @@ RightArrApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrApp l) LeftArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.LeftArrHighApp l) RightArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrHighApp l)+ ArrOp l e -> S.ArrOp l <$> checkExpr e -- LamdaCase LCase l alts -> return $ S.LCase l alts -- Hole- WildCard l -> return $ S.ExprHole l+ TypeApp l ty -> return $ S.TypeApp l ty _ -> fail $ "Parse error in expression: " ++ prettyPrint e' @@ -839,7 +847,7 @@ let infos = srcInfoPoints loc op' = amap (\s -> s { srcInfoPoints = infos }) op in (return $ Just (op', l:r:es, False, []))-isFunLhs (App _ (Var _ (UnQual _ f)) e) es = return $ Just (f, e:es, True, [])+isFunLhs (App _ (Var l (UnQual _ f)) e) es = return $ Just (f, e:es, True, srcInfoPoints l) isFunLhs (App _ f e) es = isFunLhs f (e:es) isFunLhs (Var _ (UnQual _ f)) es@(_:_) = return $ Just (f, es, True, []) isFunLhs (Paren l f) es@(_:_) = do mlhs <- isFunLhs f es@@ -1061,9 +1069,16 @@ -- Check actual types -- | Add a strictness/unpack annotation on a type.-bangType :: L -> BangType L -> PType L -> PType L-bangType = TyBang+bangType :: Maybe (L -> BangType L, S) -> Maybe (Unpackedness L) -> PType L -> PType L+bangType mstrict munpack ty =+ case (mstrict,munpack) of+ (Nothing, Just upack) -> TyBang (ann upack <++> ann ty) (NoStrictAnnot noSrcSpan) upack ty+ (Just (strict, pos), _) ->+ TyBang (fmap ann munpack <?+> noInfoSpan pos <++> ann ty) (strict (noInfoSpan pos))+ (fromMaybe (NoUnpackPragma noSrcSpan) munpack) ty+ (Nothing, Nothing) -> ty + checkType :: PType L -> P (S.Type L) checkType t = checkT t False @@ -1077,8 +1092,10 @@ checkEnabled ExplicitForAll ctxt <- checkContext cs check1Type pt (S.TyForall l tvs ctxt)+ TyStar l -> return $ S.TyStar l TyFun l at rt -> check2Types at rt (S.TyFun l) TyTuple l b pts -> checkTypes pts >>= return . S.TyTuple l b+ TyUnboxedSum l es -> checkTypes es >>= return . S.TyUnboxedSum l TyList l pt -> check1Type pt (S.TyList l) TyParArray l pt -> check1Type pt (S.TyParArray l) TyApp l ft at -> check2Types ft at (S.TyApp l)@@ -1089,22 +1106,26 @@ TyParen l pt -> check1Type pt (S.TyParen l) -- Here we know that t will be used as an actual type (and not a data constructor) -- so we can check that TypeOperators are enabled.- TyInfix l at op bt -> checkAndWarnTypeOperators op >> check2Types at bt (flip (S.TyInfix l) op)+ TyInfix l at op bt -> checkAndWarnTypeOperators (getMaybePromotedQName op)+ >> check2Types at bt (flip (S.TyInfix l) op) TyKind l pt k -> check1Type pt (flip (S.TyKind l) k) - -- TyPred can be a valid type if ConstraintKinds is enabled, unless it is an implicit parameter, which is not a valid type- TyPred _ (ClassA l className cvars) -> mapM checkType cvars >>= \vars -> return (foldl1 (S.TyApp l) (S.TyCon l className:vars))- TyPred _ (InfixA l t0 op t1) -> S.TyInfix l <$> checkType t0 <*> pure op <*> checkType t1- TyPred _ (EqualP l t0 t1) -> S.TyEquals l <$> checkType t0 <*> checkType t1 where- TyPromoted l p -> return $ S.TyPromoted l p -- ??+ TyEquals l at bt -> check2Types at bt (S.TyEquals l) TySplice l s -> do checkEnabled TemplateHaskell return $ S.TySplice l s- TyBang l b t' -> check1Type t' (S.TyBang l b)+ TyBang l b u t' -> check1Type t' (S.TyBang l b u) TyWildCard l mn -> return $ S.TyWildCard l mn+ TyQuasiQuote l n s -> do+ checkEnabled QuasiQuotes+ return $ S.TyQuasiQuote l n s _ -> fail $ "Parse error in type: " ++ prettyPrint t +getMaybePromotedQName :: MaybePromotedName l -> QName l+getMaybePromotedQName (PromotedName _ q) = q+getMaybePromotedQName (UnpromotedName _ q) = q+ check1Type :: PType L -> (S.Type L -> S.Type L) -> P (S.Type L) check1Type pt f = checkT pt True >>= return . f @@ -1134,11 +1155,11 @@ -- ConstraintKinds allow the kind "Constraint", but not "Nat", etc. Specifically -- test for that.-checkKind :: Show l => Kind l -> P ()+checkKind :: Kind l -> P () checkKind k = case k of- KindVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds]+ S.TyVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds] where constrKind name = case name of- (UnQual _ (Ident _ n)) -> n == "Constraint"+ Ident _ n -> n == "Constraint" _ -> False _ -> checkEnabled DataKinds@@ -1205,3 +1226,86 @@ Nothing -> fail ("Illegal role name " ++ role) ++++mkAssocType :: S -> PType L -> (Maybe (ResultSig L), Maybe (S, S.Type L), Maybe (InjectivityInfo L)) -> P (ClassDecl L)+mkAssocType tyloc ty (mres, mty, minj) =+ case (mres,mty, minj) of+ -- No additional information+ (Nothing, Nothing, Nothing) -> do+ dh <- checkSimpleType ty+ return $ ClsTyFam (noInfoSpan tyloc <++> ann ty) dh Nothing Nothing+ -- Type default+ (_, Just (eqloc, rhsty), Nothing) -> do+ ty' <- checkType ty+ let tyeq = TypeEqn (ann ty <++> ann rhsty <** [eqloc]) ty' rhsty+ return $ ClsTyDef (noInfoSpan tyloc <++> ann ty <** [tyloc]) tyeq+ -- Declaration with kind sig+ (Just ressig, _, _) -> do+ dh <- checkSimpleType ty+ return $ ClsTyFam (noInfoSpan tyloc <++> ann ressig <** [tyloc]) dh (Just ressig) Nothing+ -- Decl with inj info+ (Nothing, Just (eqloc, rhsty), Just injinfo) -> do+ ressig <- checkKTyVar eqloc rhsty+ dh <- checkSimpleType ty+ return $ ClsTyFam (noInfoSpan tyloc <++> ann injinfo <** [tyloc]) dh (Just ressig) minj+ _ -> error "mkAssocType"++ where+ checkKTyVar :: S -> S.Type L -> P (ResultSig L)+ checkKTyVar eqloc rhsty =+ case rhsty of+ S.TyVar l n -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (UnkindedVar l n)+ S.TyKind l (S.TyVar _ n) k -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (KindedVar l n k)+ _ -> fail ("Result of type family must be a type variable")++-- | Transform btype with strict_mark's into HsEqTy's+-- (((~a) ~b) c) ~d ==> ((~a) ~ (b c)) ~ d+splitTilde :: PType L -> PType L+splitTilde t = go t+ where go (TyApp loc t1 t2)+ | TyBang _ (LazyTy eqloc) (NoUnpackPragma _) t2' <- t2+ = TyEquals (loc <** [srcInfoSpan eqloc]) (go t1) t2'+ | otherwise+ = case go t1 of+ TyEquals eqloc tl tr ->+ TyEquals (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2)+ t' -> TyApp loc t' t2++ go t' = t'++-- Expects the arguments in the right order+mkEThingWith :: L -> QName L -> [Either S (CName L)] -> P (ExportSpec L)+mkEThingWith loc qn mcns = do+ when (isWc wc && not (null cnames)) (checkEnabled PatternSynonyms)+ return $ EThingWith loc wc qn cnames+ where+ isWc (NoWildcard {}) = False+ isWc _ = True++ wc :: EWildcard L+ wc = maybe (NoWildcard noSrcSpan)+ (\(n,Left s) -> EWildcard (noInfoSpan s) n)+ (findWithIndex 0 checkLeft mcns)++ checkLeft :: Either a b -> Bool+ checkLeft (Left _) = True+ checkLeft _ = False++ cnames = rights mcns++ findWithIndex :: Int -> (a -> Bool) -> [a] -> Maybe (Int, a)+ findWithIndex _ _ [] = Nothing+ findWithIndex n p (x:xs)+ | p x = Just (n, x)+ | otherwise = findWithIndex (n + 1) p xs++data SumOrTuple l = SSum Int Int (PExp l)+ | STuple [Maybe (PExp l)]++mkSumOrTuple :: Boxed -> L -> SumOrTuple L -> P (PExp L)+mkSumOrTuple Unboxed s (SSum before after e) = return (UnboxedSum s before after e)+mkSumOrTuple boxity s (STuple ms) =+ return $ TupleSection s boxity ms+mkSumOrTuple Boxed _s (SSum {}) = fail "Boxed sums are not implemented"
src/Language/Haskell/Exts/Parser.hs view
@@ -1,232 +1,259 @@-{-# LANGUAGE DeriveDataTypeable, FlexibleInstances #-}+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-} {-# OPTIONS_GHC -fno-warn-orphans #-}+ ----------------------------------------------------------------------------- -- |--- Module : Language.Haskell.Exts.Parser--- Copyright : (c) The GHC Team, 1997-2000--- (c) Niklas Broberg, 2004-2012+-- Module : Language.Haskell.Exts.Annotated.Parser+-- Copyright : (c) Niklas Broberg 2004-2009+-- (c) Michael Sloan 2013 -- License : BSD-style (see the file LICENSE.txt) ----- Maintainer : Niklas Broberg, niklas.broberg@chalmers.se+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se -- Stability : stable -- Portability : portable ----- Parser for Haskell with extensions.+-- Annotated parser for Haskell with extensions. -- ------------------------------------------------------------------------------ module Language.Haskell.Exts.Parser- (- -- * General parsing- Parseable(parse, parseWithMode, parseWithComments),- ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult,- -- * Parsing of specific AST elements- -- ** Modules- parseModule, parseModuleWithMode, parseModuleWithComments,- -- ** Expressions- parseExp, parseExpWithMode, parseExpWithComments,- -- ** Statements- parseStmt, parseStmtWithMode, parseStmtWithComments,- -- ** Patterns- parsePat, parsePatWithMode, parsePatWithComments,- -- ** Declarations- parseDecl, parseDeclWithMode, parseDeclWithComments,- -- ** Types- parseType, parseTypeWithMode, parseTypeWithComments,- -- ** Import declarations- parseImportDecl, parseImportDeclWithMode,- parseImportDeclWithComments,- -- * Non-greedy parsers- NonGreedy(..),- -- ** Module head parsers- getTopPragmas,- PragmasAndModuleName(..),- PragmasAndModuleHead(..),- ModuleHeadAndImports(..)- ) where+ (+ -- * General parsing+ Parseable(parse, parseWithMode, parseWithComments)+ , ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult+ -- * Parsing of specific AST elements+ -- ** Modules+ , parseModule, parseModuleWithMode, parseModuleWithComments+ -- ** Expressions+ , parseExp, parseExpWithMode, parseExpWithComments+ -- ** Statements+ , parseStmt, parseStmtWithMode, parseStmtWithComments+ -- ** Patterns+ , parsePat, parsePatWithMode, parsePatWithComments+ -- ** Declarations+ , parseDecl, parseDeclWithMode, parseDeclWithComments+ -- ** Types+ , parseType, parseTypeWithMode, parseTypeWithComments+ -- ** Imports+ , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments+ -- * Non-greedy parsers+ , NonGreedy(..)+ , ListOf(..), unListOf+ -- ** Module head parsers+ , getTopPragmas+ , PragmasAndModuleName(..)+ , PragmasAndModuleHead(..)+ , ModuleHeadAndImports(..)+ ) where -import Data.Data (Data, Typeable)-import Language.Haskell.Exts.Annotated.Fixity-import Language.Haskell.Exts.Annotated.Parser (unListOf, ListOf, NonGreedy(..))-import qualified Language.Haskell.Exts.Annotated.Parser as A-import Language.Haskell.Exts.Annotated.Simplify-import Language.Haskell.Exts.Annotated.Syntax-import Language.Haskell.Exts.Comments-import Language.Haskell.Exts.ParseMonad hiding (getModuleName)-import Language.Haskell.Exts.SrcLoc-import qualified Language.Haskell.Exts.Syntax as S+import Data.Data hiding (Fixity)+import Language.Haskell.Exts.Fixity+import Language.Haskell.Exts.Syntax+import Language.Haskell.Exts.Comments+import Language.Haskell.Exts.InternalParser+import Language.Haskell.Exts.ParseMonad+import Language.Haskell.Exts.SrcLoc -parseWithSimplify :: Parseable a => a -> (a -> a') -> Maybe [Fixity] -> P a'-parseWithSimplify _witness simpl mfixs = parser mfixs >>= return . simpl+instance Parseable (Decl SrcSpanInfo) where parser = normalParser mparseDecl+instance Parseable (Exp SrcSpanInfo) where parser = normalParser mparseExp+instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule+instance Parseable (Pat SrcSpanInfo) where parser = normalParser mparsePat+instance Parseable (Stmt SrcSpanInfo) where parser = normalParser mparseStmt+instance Parseable (Type SrcSpanInfo) where parser = normalParserNoFixity mparseType+instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl -instance Parseable S.Decl where parser = parseWithSimplify (undefined :: Decl SrcSpanInfo) sDecl-instance Parseable S.Exp where parser = parseWithSimplify (undefined :: Exp SrcSpanInfo) sExp-instance Parseable S.Module where parser = parseWithSimplify (undefined :: Module SrcSpanInfo) sModule-instance Parseable S.Pat where parser = parseWithSimplify (undefined :: Pat SrcSpanInfo) sPat-instance Parseable S.Stmt where parser = parseWithSimplify (undefined :: Stmt SrcSpanInfo) sStmt-instance Parseable S.Type where parser = parseWithSimplify (undefined :: Type SrcSpanInfo) sType-instance Parseable S.ImportDecl where parser = parseWithSimplify (undefined :: ImportDecl SrcSpanInfo) sImportDecl+normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)+normalParser p Nothing = p+normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc -instance Parseable (NonGreedy [S.ModulePragma]) where- parser = parseWithSimplify- (undefined :: NonGreedy (ListOf (ModulePragma SrcSpanInfo)))- (fmap (map sModulePragma . unListOf))+normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)+normalParserNoFixity p _ = p -- Type-specific functions -- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.-parseModule :: String -> ParseResult S.Module+parseModule :: String -> ParseResult (Module SrcSpanInfo) parseModule = parse -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.-parseModuleWithMode :: ParseMode -> String -> ParseResult S.Module+parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) parseModuleWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseModuleWithComments :: ParseMode -> String -> ParseResult (S.Module, [Comment])+parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) parseModuleWithComments = parseWithComments -- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.-parseExp :: String -> ParseResult S.Exp+parseExp :: String -> ParseResult (Exp SrcSpanInfo) parseExp = parse -- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.-parseExpWithMode :: ParseMode -> String -> ParseResult S.Exp+parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo) parseExpWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseExpWithComments :: ParseMode -> String -> ParseResult (S.Exp, [Comment])+parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment]) parseExpWithComments = parseWithComments -- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.-parsePat :: String -> ParseResult S.Pat+parsePat :: String -> ParseResult (Pat SrcSpanInfo) parsePat = parse -- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.-parsePatWithMode :: ParseMode -> String -> ParseResult S.Pat+parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo) parsePatWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parsePatWithComments :: ParseMode -> String -> ParseResult (S.Pat, [Comment])+parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment]) parsePatWithComments = parseWithComments --- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'-parseDecl :: String -> ParseResult S.Decl+-- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.+parseDecl :: String -> ParseResult (Decl SrcSpanInfo) parseDecl = parse -- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.-parseDeclWithMode :: ParseMode -> String -> ParseResult S.Decl+parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo) parseDeclWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseDeclWithComments :: ParseMode -> String -> ParseResult (S.Decl, [Comment])+parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment]) parseDeclWithComments = parseWithComments -- | Parse of a string containing a Haskell type, using 'defaultParseMode'.-parseType :: String -> ParseResult S.Type+parseType :: String -> ParseResult (Type SrcSpanInfo) parseType = parse -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseTypeWithMode :: ParseMode -> String -> ParseResult S.Type+parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo) parseTypeWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseTypeWithComments :: ParseMode -> String -> ParseResult (S.Type, [Comment])+parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment]) parseTypeWithComments = parseWithComments --- | Parse of a string containing a Haskell type, using 'defaultParseMode'.-parseStmt :: String -> ParseResult S.Stmt+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.+parseStmt :: String -> ParseResult (Stmt SrcSpanInfo) parseStmt = parse -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseStmtWithMode :: ParseMode -> String -> ParseResult S.Stmt+parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo) parseStmtWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseStmtWithComments :: ParseMode -> String -> ParseResult (S.Stmt, [Comment])+parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment]) parseStmtWithComments = parseWithComments --- | Parse of a string containing a Haskell import declaration, using 'defaultParseMode'.-parseImportDecl :: String -> ParseResult S.ImportDecl+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.+parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo) parseImportDecl = parse -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.-parseImportDeclWithMode :: ParseMode -> String -> ParseResult S.ImportDecl+parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo) parseImportDeclWithMode = parseWithMode -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.-parseImportDeclWithComments :: ParseMode -> String -> ParseResult (S.ImportDecl, [Comment])+parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment]) parseImportDeclWithComments = parseWithComments +-- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser) +-- | Non-greedy parse of a string starting with a series of top-level option pragmas.+getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]+getTopPragmas = fmap (unListOf . unNonGreedy) . parse --- Module head parsers+instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where+ parser = nglistParserNoFixity ngparseModulePragmas --- | Partial parse of a string starting with a series of top-level option pragmas.-getTopPragmas :: String -> ParseResult [S.ModulePragma]-getTopPragmas = fmap (fmap unNonGreedy) parse+nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))+nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f --- | Type intended to be used with 'Parseable', with instances that--- implement a non-greedy parse of the module name, including--- top-level pragmas. This means that a parse error that comes--- after the module header won't be returned. If no module name is--- found (and no parse error occurs), then \"Main\" is returned.--- This is the same behavior that 'parseModule' has.-data PragmasAndModuleName = PragmasAndModuleName- [S.ModulePragma]- S.ModuleName+-- | Type intended to be used with 'Parseable', with instances that implement a+-- non-greedy parse of the module name, including top-level pragmas. This+-- means that a parse error that comes after the module header won't be+-- returned. If the 'Maybe' value is 'Nothing', then this means that there was+-- no module header.+data PragmasAndModuleName l = PragmasAndModuleName l+ [ModulePragma l]+ (Maybe (ModuleName l)) deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable (NonGreedy PragmasAndModuleName) where- parser fixs = do- NonGreedy (A.PragmasAndModuleName _ ps mmn) <- parser fixs- return $ NonGreedy $ PragmasAndModuleName- (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))- (maybe S.main_mod sModuleName mmn)+instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where+ parser _ = do+ ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName+ let l = combSpanMaybe (pl <** pss) (fmap ann mn)+ return $ NonGreedy $ PragmasAndModuleName l pragmas mn --- | Type intended to be used with 'Parseable', with instances that+-- Type intended to be used with 'Parseable', with instances that -- implement a non-greedy parse of the module name, including -- top-level pragmas. This means that a parse error that comes--- after the module header won't be returned. If no module head is--- found, then a default simple head like \"module Main where\" is--- assumed. This is the same behavior that 'parseModule' has.+-- after the module header won't be returned. If the 'Maybe' value+-- is 'Nothing', this means that there was no module head. ----- Note that the 'ParseMode' particularly matters for this due to--- the 'MagicHash' changing the lexing of identifiers to include--- \"#\".-data PragmasAndModuleHead = PragmasAndModuleHead- [S.ModulePragma]- (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])+-- Note that the 'ParseMode' matters for this due to the 'MagicHash'+-- changing the lexing of identifiers to include \"#\".+data PragmasAndModuleHead l = PragmasAndModuleHead l+ [ModulePragma l]+ (Maybe (ModuleHead l)) deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable (NonGreedy PragmasAndModuleHead) where- parser fixs = do- NonGreedy (A.PragmasAndModuleHead _ ps mmh) <- parser fixs- return $ NonGreedy $ PragmasAndModuleHead- (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))- (sModuleHead mmh)+instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where+ parser _ = do+ ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead+ let l = combSpanMaybe (pl <** pss) (fmap ann mh)+ return $ NonGreedy $ PragmasAndModuleHead l pragmas mh --- | Type intended to be used with 'Parseable', with instances that+-- Type intended to be used with 'Parseable', with instances that -- implement a non-greedy parse of the module head, including -- top-level pragmas, module name, export list, and import -- list. This means that if a parse error that comes after the--- imports won't be returned. If no module head is found, then a--- default simple head like \"module Main where\" is assumed. This--- is the same behavior that 'parseModule' has.+-- imports won't be returned. If the 'Maybe' value is 'Nothing',+-- this means that there was no module head. ----- Note that the 'ParseMode' particularly matters for this due to--- the 'MagicHash' changing the lexing of identifiers to include--- \"#\".-data ModuleHeadAndImports = ModuleHeadAndImports- [S.ModulePragma]- (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])- [S.ImportDecl]+-- Note that the 'ParseMode' matters for this due to the 'MagicHash'+-- changing the lexing of identifiers to include \"#\".+data ModuleHeadAndImports l = ModuleHeadAndImports l+ [ModulePragma l]+ (Maybe (ModuleHead l))+ [ImportDecl l] deriving (Eq,Ord,Show,Typeable,Data) -instance Parseable (NonGreedy ModuleHeadAndImports) where- parser fixs = do- NonGreedy (A.ModuleHeadAndImports _ ps mmh imps) <- parser fixs- return $ NonGreedy $ ModuleHeadAndImports- (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))- (sModuleHead mmh)- (map sImportDecl imps)+instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where+ parser _ = do+ ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports+ let l = (pl <** pss) `combSpanMaybe`+ (fmap ann mh) `combSpanMaybe`+ (fmap (\(_, iss, il) -> il <** iss) mimps)+ imps = maybe [] (\(x, _, _) -> x) mimps+ return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps++-- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input+-- until @a@ is fully parsed. This means that parse errors that come later+-- in the input will be ignored. It's also more efficient, as it's fully lazy+-- in the remainder of the input:+--+-- >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead+-- ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})+--+-- (this example uses the simplified AST)+newtype NonGreedy a = NonGreedy { unNonGreedy :: a }+ deriving (Eq,Ord,Show,Typeable,Data)++instance Functor NonGreedy where+ fmap f (NonGreedy x) = NonGreedy (f x)++-- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',+-- in order to provide 'Parseable' instances for lists. These instances are+-- provided when the type is used as a list in the syntax, and the same+-- delimiters are used in all of its usages. Some exceptions are made:+data ListOf a = ListOf SrcSpanInfo [a]+ deriving (Eq,Ord,Show,Typeable,Data,Functor)++unListOf :: ListOf a -> [a]+unListOf (ListOf _ xs) = xs++-- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',+-- as long as they are created with (presently) are all created with+-- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have+-- empty 'srcInfoPoints'. Ideally, the parsers would return better+-- types, but this works.+toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a+toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
src/Language/Haskell/Exts/Pretty.hs view
@@ -1,1949 +1,1717 @@--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Pretty--- Copyright : (c) Niklas Broberg 2004-2009,--- (c) The GHC Team, Noel Winstanley 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ Pretty printer for Haskell with extensions.-----------------------------------------------------------------------------------module Language.Haskell.Exts.Pretty (- -- * Pretty printing- Pretty,- prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,- -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")- P.Style(..), P.style, P.Mode(..),- -- * Haskell formatting modes- PPHsMode(..), Indent, PPLayout(..), defaultMode- -- * Primitive Printers- , prettyPrim, prettyPrimWithMode- ) where--import Language.Haskell.Exts.Syntax-import qualified Language.Haskell.Exts.Annotated.Syntax as A-import Language.Haskell.Exts.Annotated.Simplify-import qualified Language.Haskell.Exts.ParseSyntax as P--import Language.Haskell.Exts.SrcLoc hiding (loc)--import Prelude hiding (exp)-import qualified Text.PrettyPrint as P-import Data.List (intersperse)-import Data.Maybe (isJust)-import Control.Applicative (Applicative(..))-import qualified Control.Monad as M (ap)--infixl 5 $$$----------------------------------------------------------------------------------- | Varieties of layout we can use.-data PPLayout = PPOffsideRule -- ^ classical layout- | PPSemiColon -- ^ classical layout made explicit- | PPInLine -- ^ inline decls, with newlines between them- | PPNoLayout -- ^ everything on a single line- deriving Eq--type Indent = Int---- | Pretty-printing parameters.------ /Note:/ the 'onsideIndent' must be positive and less than all other indents.-data PPHsMode = PPHsMode {- -- | indentation of a class or instance- classIndent :: Indent,- -- | indentation of a @do@-expression- doIndent :: Indent,- -- | indentation of the body of a- -- @case@ expression- multiIfIndent :: Indent,- -- | indentation of the body of a- -- multi-@if@ expression- caseIndent :: Indent,- -- | indentation of the declarations in a- -- @let@ expression- letIndent :: Indent,- -- | indentation of the declarations in a- -- @where@ clause- whereIndent :: Indent,- -- | indentation added for continuation- -- lines that would otherwise be offside- onsideIndent :: Indent,- -- | blank lines between statements?- spacing :: Bool,- -- | Pretty-printing style to use- layout :: PPLayout,- -- | add GHC-style @LINE@ pragmas to output?- linePragmas :: Bool- }---- | The default mode: pretty-print using the offside rule and sensible--- defaults.-defaultMode :: PPHsMode-defaultMode = PPHsMode{- classIndent = 8,- doIndent = 3,- multiIfIndent = 3,- caseIndent = 4,- letIndent = 4,- whereIndent = 6,- onsideIndent = 2,- spacing = True,- layout = PPOffsideRule,- linePragmas = False- }---- | Pretty printing monad-newtype DocM s a = DocM (s -> a)--instance Functor (DocM s) where- fmap f xs = do x <- xs; return (f x)--instance Applicative (DocM s) where- pure = retDocM- (<*>) = M.ap--instance Monad (DocM s) where- (>>=) = thenDocM- (>>) = then_DocM- return = retDocM--{-# INLINE thenDocM #-}-{-# INLINE then_DocM #-}-{-# INLINE retDocM #-}-{-# INLINE unDocM #-}-{-# INLINE getPPEnv #-}--thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b-thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s--then_DocM :: DocM s a -> DocM s b -> DocM s b-then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s--retDocM :: a -> DocM s a-retDocM a = DocM $ const a--unDocM :: DocM s a -> s -> a-unDocM (DocM f) = f---- all this extra stuff, just for this one function.-getPPEnv :: DocM s s-getPPEnv = DocM id---- So that pp code still looks the same--- this means we lose some generality though---- | The document type produced by these pretty printers uses a 'PPHsMode'--- environment.-type Doc = DocM PPHsMode P.Doc---- | Things that can be pretty-printed, including all the syntactic objects--- in "Language.Haskell.Exts.Syntax" and "Language.Haskell.Exts.Annotated.Syntax".-class Pretty a where- -- | Pretty-print something in isolation.- pretty :: a -> Doc- -- | Pretty-print something in a precedence context.- prettyPrec :: Int -> a -> Doc- pretty = prettyPrec 0- prettyPrec _ = pretty---- The pretty printing combinators--empty :: Doc-empty = return P.empty--nest :: Int -> Doc -> Doc-nest i m = m >>= return . P.nest i----- Literals--text :: String -> Doc-text = return . P.text--char :: Char -> Doc-char = return . P.char--int :: Int -> Doc-int = return . P.int--integer :: Integer -> Doc-integer = return . P.integer--float :: Float -> Doc-float = return . P.float--double :: Double -> Doc-double = return . P.double---- rational :: Rational -> Doc--- rational = return . P.rational---- Simple Combining Forms--parens, brackets, braces, doubleQuotes :: Doc -> Doc-parens d = d >>= return . P.parens-brackets d = d >>= return . P.brackets-braces d = d >>= return . P.braces--- quotes :: Doc -> Doc--- quotes d = d >>= return . P.quotes-doubleQuotes d = d >>= return . P.doubleQuotes--parensIf :: Bool -> Doc -> Doc-parensIf True = parens-parensIf False = id---- Constants--semi,comma,space,equals :: Doc-semi = return P.semi-comma = return P.comma--- colon :: Doc--- colon = return P.colon-space = return P.space-equals = return P.equals--{--lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc-lparen = return P.lparen-rparen = return P.rparen-lbrack = return P.lbrack-rbrack = return P.rbrack-lbrace = return P.lbrace-rbrace = return P.rbrace--}---- Combinators--(<>),(<+>),($$) :: Doc -> Doc -> Doc-aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}-aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}-aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}-($+$) :: Doc -> Doc -> Doc-aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}--hcat,hsep,vcat,fsep :: [Doc] -> Doc-hcat dl = sequence dl >>= return . P.hcat-hsep dl = sequence dl >>= return . P.hsep-vcat dl = sequence dl >>= return . P.vcat--- sep, cat, fcat :: [Doc] -> Doc--- sep dl = sequence dl >>= return . P.sep--- cat dl = sequence dl >>= return . P.cat-fsep dl = sequence dl >>= return . P.fsep--- fcat dl = sequence dl >>= return . P.fcat---- Some More---- hang :: Doc -> Int -> Doc -> Doc--- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}---- Yuk, had to cut-n-paste this one from Pretty.hs-punctuate :: Doc -> [Doc] -> [Doc]-punctuate _ [] = []-punctuate p (d1:ds) = go d1 ds- where- go d [] = [d]- go d (e:es) = (d <> p) : go e es---- | render the document with a given style and mode.-renderStyleMode :: P.Style -> PPHsMode -> Doc -> String-renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode---- | render the document with a given mode.--- renderWithMode :: PPHsMode -> Doc -> String--- renderWithMode = renderStyleMode P.style---- | render the document with 'defaultMode'.--- render :: Doc -> String--- render = renderWithMode defaultMode---- | pretty-print with a given style and mode.-prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String-prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty---- | pretty-print with the default style and a given mode.-prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String-prettyPrintWithMode = prettyPrintStyleMode P.style---- | pretty-print with the default style and 'defaultMode'.-prettyPrint :: Pretty a => a -> String-prettyPrint = prettyPrintWithMode defaultMode---- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->--- (P.TextDetails -> a -> a) -> a -> Doc -> a--- fullRenderWithMode ppMode m i f fn e mD =--- P.fullRender m i f fn e $ (unDocM mD) ppMode----- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)--- -> a -> Doc -> a--- fullRender = fullRenderWithMode defaultMode---- | pretty-print with the default style and 'defaultMode'.-prettyPrim :: Pretty a => a -> P.Doc-prettyPrim = prettyPrimWithMode defaultMode---- | pretty-print with the default style and a given mode.-prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc-prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs---------------------------- Pretty-Print a Module ---------------------instance Pretty Module where- pretty (Module pos m os mbWarn mbExports imp decls) =- markLine pos $- myVcat $ map pretty os ++- (if m == ModuleName "" then id- else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])- (map pretty imp ++- ppDecls (m /= ModuleName "" ||- not (null imp) ||- not (null os))- decls)---------------------------- Module Header -------------------------------ppModuleHeader :: ModuleName -> Maybe WarningText -> Maybe [ExportSpec] -> Doc-ppModuleHeader m mbWarn mbExportList = mySep [- text "module",- pretty m,- maybePP ppWarnTxt mbWarn,- maybePP (parenList . map pretty) mbExportList,- text "where"]--ppWarnTxt :: WarningText -> Doc-ppWarnTxt (DeprText s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]-ppWarnTxt (WarnText s) = mySep [text "{-# WARNING", text (show s), text "#-}"]--instance Pretty ModuleName where- pretty (ModuleName modName) = text modName--instance Pretty Namespace where- pretty NoNamespace = empty- pretty TypeNamespace = text "type"- pretty PatternNamespace = text "pattern"--instance Pretty ExportSpec where- pretty (EVar name) = pretty name- pretty (EAbs ns name) = pretty ns <+> pretty name- pretty (EThingAll name) = pretty name <> text "(..)"- pretty (EThingWith name nameList) =- pretty name <> (parenList . map pretty $ nameList)- pretty (EModuleContents m) = text "module" <+> pretty m--instance Pretty ImportDecl where- pretty (ImportDecl pos m qual src safe mbPkg mbName mbSpecs) =- markLine pos $- mySep [text "import",- if src then text "{-# SOURCE #-}" else empty,- if safe then text "safe" else empty,- if qual then text "qualified" else empty,- maybePP (\s -> text (show s)) mbPkg,- pretty m,- maybePP (\m' -> text "as" <+> pretty m') mbName,- maybePP exports mbSpecs]- where- exports (b,specList) =- if b then text "hiding" <+> specs else specs- where specs = parenList . map pretty $ specList--instance Pretty ImportSpec where- pretty (IVar name ) = pretty name- pretty (IAbs ns name) = pretty ns <+> pretty name- pretty (IThingAll name) = pretty name <> text "(..)"- pretty (IThingWith name nameList) =- pretty name <> (parenList . map pretty $ nameList)--instance Pretty TypeEqn where- pretty (TypeEqn pat eqn) = mySep [pretty pat, equals, pretty eqn]--------------------------- Declarations -------------------------------class Pretty a => PrettyDeclLike a where- wantsBlankline :: a -> Bool--instance PrettyDeclLike Decl where- wantsBlankline (FunBind _) = False- wantsBlankline (PatBind {}) = False- wantsBlankline _ = True--condBlankline :: PrettyDeclLike a => a -> Doc-condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d--ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]-ppDecls True ds = map condBlankline ds-ppDecls False (d:ds) = pretty d : map condBlankline ds-ppDecls _ _ = []---ppDecls = map condBlankline--instance Pretty Decl where- pretty (TypeDecl loc name nameList htype) =- -- blankline $- markLine loc $- mySep ( [text "type", pretty name]- ++ map pretty nameList- ++ [equals, pretty htype])-- pretty (DataDecl loc don context name nameList constrList derives) =- -- blankline $- markLine loc $- mySep ( [pretty don, ppContext context, pretty name]- ++ map pretty nameList)- <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))- (map pretty constrList))- $$$ ppDeriving derives)-- pretty (GDataDecl loc don context name nameList optkind gadtList derives) =- -- blankline $- markLine loc $- mySep ( [pretty don, ppContext context, pretty name]- ++ map pretty nameList ++ ppOptKind optkind ++ [text "where"])- $$$ ppBody classIndent (map pretty gadtList)- $$$ ppIndent letIndent [ppDeriving derives]-- pretty (TypeFamDecl loc name nameList optkind) =- -- blankline $- markLine loc $- mySep ([text "type", text "family", pretty name]- ++ map pretty nameList- ++ ppOptKind optkind)-- pretty (ClosedTypeFamDecl loc name nameList optkind eqns) =- -- blankline $- markLine loc $- mySep ([text "type", text "family", pretty name]- ++ map pretty nameList- ++ ppOptKind optkind ++ [text "where"]) $$$ ppBody classIndent (map pretty eqns)-- pretty (DataFamDecl loc context name nameList optkind) =- -- blankline $- markLine loc $- mySep ( [text "data", text "family", ppContext context, pretty name]- ++ map pretty nameList ++ ppOptKind optkind)-- pretty (TypeInsDecl loc ntype htype) =- -- blankline $- markLine loc $- mySep [text "type", text "instance", pretty ntype, equals, pretty htype]-- pretty (DataInsDecl loc don ntype constrList derives) =- -- blankline $- markLine loc $- mySep [pretty don, text "instance", pretty ntype]- <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))- (map pretty constrList))- $$$ ppDeriving derives)-- pretty (GDataInsDecl loc don ntype optkind gadtList derives) =- -- blankline $- markLine loc $- mySep ( [pretty don, text "instance", pretty ntype]- ++ ppOptKind optkind ++ [text "where"])- $$$ ppBody classIndent (map pretty gadtList)- $$$ ppDeriving derives-- --m{spacing=False}- -- special case for empty class declaration- pretty (ClassDecl pos context name nameList fundeps []) =- -- blankline $- markLine pos $- mySep ( [text "class", ppContext context, pretty name]- ++ map pretty nameList ++ [ppFunDeps fundeps])- pretty (ClassDecl pos context name nameList fundeps declList) =- -- blankline $- markLine pos $- mySep ( [text "class", ppContext context, pretty name]- ++ map pretty nameList ++ [ppFunDeps fundeps, text "where"])- $$$ ppBody classIndent (ppDecls False declList)-- -- m{spacing=False}- -- special case for empty instance declaration- pretty (InstDecl pos overlap tvs context name args []) =- -- blankline $- markLine pos $- let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }- in mySep ( [text "instance" <> olp, ppForall (Just tvs)- , ppContext context, pretty name] ++ map ppAType args)- pretty (InstDecl pos overlap tvs context name args declList) =- -- blankline $- markLine pos $- let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }- in mySep ( [text "instance" <> olp, ppForall (Just tvs)- , ppContext context, pretty name]- ++ map ppAType args ++ [text "where"])- $$$ ppBody classIndent (ppDecls False declList)-- pretty (DerivDecl pos overlap tvs context name args) =- -- blankline $- markLine pos $- let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }- in mySep ( [text "deriving", text "instance" <> olp, ppForall (Just tvs)- , ppContext context, pretty name] ++ map ppAType args)- pretty (DefaultDecl pos htypes) =- -- blankline $- markLine pos $- text "default" <+> parenList (map pretty htypes)-- pretty (SpliceDecl pos splice) =- -- blankline $- markLine pos $- pretty splice-- pretty (TypeSig pos nameList qualType) =- -- blankline $- markLine pos $- mySep ((punctuate comma . map pretty $ nameList)- ++ [text "::", pretty qualType])-- -- Req can be ommitted if it is empty- -- We must print prov if req is nonempty- pretty (PatSynSig pos n mtvs prov req t) =- let contexts = case (prov, req) of- ([], []) -> []- (ps, []) -> [ppContext ps]- ([], rs) -> [text "()" <+> text "=>", ppContext rs]- (ps, rs) -> [ppContext ps, ppContext rs]- in- markLine pos $- mySep ( [text "pattern", pretty n, text "::", ppForall mtvs] ++- contexts ++ [pretty t] )--- pretty (FunBind matches) = do- e <- fmap layout getPPEnv- case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)- _ -> foldr (\x y -> x <> semi <> y) empty (map pretty matches)-- pretty (PatBind pos pat rhs whereBinds) =- markLine pos $- myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds-- pretty (InfixDecl pos assoc prec opList) =- -- blankline $- markLine pos $- mySep ([pretty assoc, int prec]- ++ (punctuate comma . map pretty $ opList))-- pretty (PatSyn pos pat rhs dir) =- let sep = case dir of- ImplicitBidirectional -> "="- ExplicitBidirectional _ -> "<-"- Unidirectional -> "<-"- in- markLine pos $- (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$- (case dir of- ExplicitBidirectional ds ->- nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))- _ -> empty)-- pretty (ForImp pos cconv saf str name typ) =- -- blankline $- markLine pos $- mySep [text "foreign import", pretty cconv, pretty saf,- text (show str), pretty name, text "::", pretty typ]-- pretty (ForExp pos cconv str name typ) =- -- blankline $- markLine pos $- mySep [text "foreign export", pretty cconv,- text (show str), pretty name, text "::", pretty typ]-- pretty (RulePragmaDecl pos rules) =- -- blankline $- markLine pos $- myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]-- pretty (DeprPragmaDecl pos deprs) =- -- blankline $- markLine pos $- myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]-- pretty (WarnPragmaDecl pos deprs) =- -- blankline $- markLine pos $- myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]-- pretty (InlineSig pos inl activ name) =- -- blankline $- markLine pos $- mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]-- pretty (InlineConlikeSig pos activ name) =- -- blankline $- markLine pos $- mySep [text "{-# INLINE CONLIKE", pretty activ, pretty name, text "#-}"]-- pretty (SpecSig pos activ name types) =- -- blankline $- markLine pos $- mySep $ [text "{-# SPECIALISE", pretty activ, pretty name, text "::"]- ++ punctuate comma (map pretty types) ++ [text "#-}"]-- pretty (SpecInlineSig pos inl activ name types) =- -- blankline $- markLine pos $- mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),- pretty activ, pretty name, text "::"]- ++ (punctuate comma $ map pretty types) ++ [text "#-}"]-- pretty (InstSig pos tvs context name args) =- -- blankline $- markLine pos $- mySep $ [text "{-# SPECIALISE", text "instance"- , ppForall (Just tvs), ppContext context, pretty name]- ++ map ppAType args ++ [text "#-}"]-- pretty (AnnPragma pos ann) =- -- blankline $- markLine pos $- mySep [text "{-# ANN", pretty ann, text "#-}"]-- pretty (MinimalPragma pos b) =- -- blankline $- markLine pos $- let bs = case b of { Just b' -> pretty b'; _ -> empty }- in myFsep [text "{-# MINIMAL", bs, text "#-}"]-- pretty (RoleAnnotDecl pos qn rs) =- -- blankline $- markLine pos $- mySep ( [text "type", text "role", pretty qn]- ++ map pretty rs )---instance Pretty Annotation where- pretty (Ann n e) = myFsep [pretty n, pretty e]- pretty (TypeAnn n e) = myFsep [text "type", pretty n, pretty e]- pretty (ModuleAnn e) = myFsep [text "module", pretty e]--instance Pretty BooleanFormula where- pretty (VarFormula n) = pretty n- pretty (AndFormula bs) = myFsep $ punctuate (text " ,") $ map pretty bs- pretty (OrFormula bs) = myFsep $ punctuate (text " |") $ map pretty bs- pretty (ParenFormula b) = parens $ pretty b--instance Pretty Role where- pretty RoleWildcard = char '_'- pretty Nominal = text "nominal"- pretty Representational = text "representational"- pretty Phantom = text "phantom"--instance Pretty DataOrNew where- pretty DataType = text "data"- pretty NewType = text "newtype"--instance Pretty Assoc where- pretty AssocNone = text "infix"- pretty AssocLeft = text "infixl"- pretty AssocRight = text "infixr"--instance Pretty Match where- pretty (Match pos f ps optsig rhs whereBinds) =- markLine pos $- myFsep (lhs ++ [maybePP ppSig optsig, pretty rhs])- $$$ ppWhere whereBinds- where- lhs = case ps of- l:r:ps' | isSymbolName f ->- let hd = [prettyPrec 2 l, ppName f, prettyPrec 2 r] in- if null ps' then hd- else parens (myFsep hd) : map (prettyPrec 3) ps'- _ -> pretty f : map (prettyPrec 3) ps--ppWhere :: Maybe Binds -> Doc-ppWhere Nothing = empty-ppWhere (Just (BDecls l)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))-ppWhere (Just (IPBinds b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))--ppSig :: Type -> Doc-ppSig t = text "::" <+> pretty t--instance PrettyDeclLike ClassDecl where- wantsBlankline (ClsDecl d) = wantsBlankline d- wantsBlankline (ClsDefSig {}) = True- wantsBlankline _ = False--instance Pretty ClassDecl where- pretty (ClsDecl decl) = pretty decl-- pretty (ClsDataFam loc context name nameList optkind) =- markLine loc $- mySep ( [text "data", ppContext context, pretty name]- ++ map pretty nameList ++ ppOptKind optkind)-- pretty (ClsTyFam loc name nameList optkind) =- markLine loc $- mySep ( [text "type", pretty name]- ++ map pretty nameList ++ ppOptKind optkind)-- pretty (ClsTyDef loc ntype htype) =- markLine loc $- mySep [text "type", pretty ntype, equals, pretty htype]-- pretty (ClsDefSig loc name typ) =- -- blankline $- markLine loc $- mySep [- text "default",- pretty name,- text "::",- pretty typ]---instance PrettyDeclLike InstDecl where- wantsBlankline (InsDecl d) = wantsBlankline d- wantsBlankline _ = False--instance Pretty InstDecl where- pretty (InsDecl decl) = pretty decl-- pretty (InsType loc ntype htype) =- markLine loc $- mySep [text "type", pretty ntype, equals, pretty htype]-- pretty (InsData loc don ntype constrList derives) =- markLine loc $- mySep [pretty don, pretty ntype]- <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))- (map pretty constrList))- $$$ ppDeriving derives)-- pretty (InsGData loc don ntype optkind gadtList derives) =- markLine loc $- mySep ( [pretty don, pretty ntype]- ++ ppOptKind optkind ++ [text "where"])- $$$ ppBody classIndent (map pretty gadtList)- $$$ ppDeriving derives---- pretty (InsInline loc inl activ name) =--- markLine loc $--- mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]---------------------------- FFI stuff --------------------------------------instance Pretty Safety where- pretty PlayRisky = text "unsafe"- pretty (PlaySafe b) = text $ if b then "threadsafe" else "safe"- pretty PlayInterruptible = text "interruptible"--instance Pretty CallConv where- pretty StdCall = text "stdcall"- pretty CCall = text "ccall"- pretty CPlusPlus = text "cplusplus"- pretty DotNet = text "dotnet"- pretty Jvm = text "jvm"- pretty Js = text "js"- pretty JavaScript = text "javascript"- pretty CApi = text "capi"--------------------------- Pragmas ----------------------------------------ppWarnDepr :: ([Name], String) -> Doc-ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]--instance Pretty Rule where- pretty (Rule tag activ rvs rhs lhs) =- mySep [text $ show tag, pretty activ,- maybePP ppRuleVars rvs,- pretty rhs, char '=', pretty lhs]--ppRuleVars :: [RuleVar] -> Doc-ppRuleVars [] = empty-ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']--instance Pretty Activation where- pretty AlwaysActive = empty- pretty (ActiveFrom i) = char '[' <> int i <> char ']'- pretty (ActiveUntil i) = text "[~" <> int i <> char ']'--instance Pretty Overlap where- pretty Overlap = text "{-# OVERLAP #-}"- pretty NoOverlap = text "{-# NO_OVERLAP #-}"- pretty Incoherent = text "{-# INCOHERENT #-}"--instance Pretty RuleVar where- pretty (RuleVar n) = pretty n- pretty (TypedRuleVar n t) = parens $ mySep [pretty n, text "::", pretty t]---- Spaces are stripped from the pragma text but other whitespace--- is not.-ppOptionsPragma :: Doc -> String -> Doc-ppOptionsPragma opt s =- case s of- ('\n':_) -> opt <> text s <> text "#-}"- _ -> myFsep [opt, text s <> text "#-}"]--instance Pretty ModulePragma where- pretty (LanguagePragma _ ns) =- myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]- pretty (OptionsPragma _ (Just tool) s) =- ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s- pretty (OptionsPragma _ _ s) =- ppOptionsPragma (text "{-# OPTIONS") s- pretty (AnnModulePragma _ ann) =- myFsep [text "{-# ANN", pretty ann, text "#-}"]---instance Pretty Tool where- pretty (UnknownTool s) = text s- pretty t = text $ show t--------------------------- Data & Newtype Bodies --------------------------instance Pretty QualConDecl where- pretty (QualConDecl _pos tvs ctxt con) =- myFsep [ppForall (Just tvs), ppContext ctxt, pretty con]--instance Pretty GadtDecl where- pretty (GadtDecl _pos name names ty) =- case names of- [] ->- myFsep [pretty name, text "::", pretty ty]- ts' ->- myFsep [pretty name, text "::" ,- braceList . map ppField $ ts', text "->", pretty ty]--instance Pretty ConDecl where- pretty (RecDecl name fieldList) =- pretty name <> (braceList . map ppField $ fieldList)--{- pretty (ConDecl name@(Symbol _) [l, r]) =- myFsep [prettyPrec prec_btype l, ppName name,- prettyPrec prec_btype r] -}- pretty (ConDecl name typeList) =- mySep $ pretty name : map (prettyPrec prec_atype) typeList- pretty (InfixConDecl l name r) =- myFsep [prettyPrec prec_btype l, ppNameInfix name,- prettyPrec prec_btype r]--ppField :: ([Name], Type) -> Doc-ppField (names, ty) =- myFsepSimple $ (punctuate comma . map pretty $ names) ++- [text "::", pretty ty]--instance Pretty BangType where- pretty BangedTy = char '!'- pretty UnpackedTy = text "{-# UNPACK #-}" <+> char '!'--ppDeriving :: [Deriving] -> Doc-ppDeriving [] = empty-ppDeriving [(d, [])] = text "deriving" <+> ppQName d-ppDeriving ds = text "deriving" <+> parenList (map ppDer ds)- where ppDer :: (QName, [Type]) -> Doc- ppDer (n, ts) = mySep (pretty n : map pretty ts)--------------------------- Types --------------------------ppBType :: Type -> Doc-ppBType = prettyPrec prec_btype--ppAType :: Type -> Doc-ppAType = prettyPrec prec_atype---- precedences for types-prec_btype, prec_atype :: Int-prec_btype = 1 -- left argument of ->,- -- or either argument of an infix data constructor-prec_atype = 2 -- argument of type or data constructor, or of a class--instance Pretty Type where- prettyPrec p (TyForall mtvs ctxt htype) = parensIf (p > 0) $- myFsep [ppForall mtvs, ppContext ctxt, pretty htype]- prettyPrec p (TyFun a b) = parensIf (p > 0) $- myFsep [ppBType a, text "->", pretty b]- prettyPrec _ (TyTuple bxd l) =- let ds = map pretty l- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (TyList t) = brackets $ pretty t- prettyPrec _ (TyParArray t) = bracketColonList [pretty t]- prettyPrec p (TyApp a b) =- {-- | a == list_tycon = brackets $ pretty b -- special case- | otherwise = -} parensIf (p > prec_btype) $- myFsep [pretty a, ppAType b]- prettyPrec _ (TyVar name) = pretty name- prettyPrec _ (TyCon name) = pretty name- prettyPrec _ (TyParen t) = parens (pretty t)--- prettyPrec _ (TyPred asst) = pretty asst- prettyPrec _ (TyInfix a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]- prettyPrec _ (TyKind t k) = parens (myFsep [pretty t, text "::", pretty k])- prettyPrec _ (TyPromoted p) = pretty p- prettyPrec p (TyEquals a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])- prettyPrec _ (TySplice s) = pretty s- prettyPrec _ (TyBang b t) = pretty b <> prettyPrec prec_atype t- prettyPrec _ (TyWildCard mn) = char '_' <> maybePP pretty mn---instance Pretty Promoted where- pretty p =- case p of- PromotedInteger n -> integer n- PromotedString s -> doubleQuotes $ text s- PromotedCon hasQuote qn ->- addQuote hasQuote $ maybe (pretty qn) pretty (getSpecialName qn)- PromotedList hasQuote list ->- addQuote hasQuote $ bracketList . punctuate comma . map pretty $ list- PromotedTuple list ->- addQuote True $ parenList $ map pretty list- PromotedUnit -> addQuote True $ text "()"- where- addQuote True doc = char '\'' <> doc- addQuote False doc = doc--instance Pretty TyVarBind where- pretty (KindedVar var kind) = parens $ myFsep [pretty var, text "::", pretty kind]- pretty (UnkindedVar var) = pretty var--ppForall :: Maybe [TyVarBind] -> Doc-ppForall Nothing = empty-ppForall (Just []) = empty-ppForall (Just vs) = myFsep (text "forall" : map pretty vs ++ [char '.'])------------------------------ Kinds ------------------------------instance Pretty Kind where- prettyPrec _ KindStar = text "*"- prettyPrec n (KindFn a b) = parensIf (n > 0) $ myFsep [prettyPrec 1 a, text "->", pretty b]- prettyPrec _ (KindParen k) = parens $ pretty k- prettyPrec _ (KindVar n) = pretty n- prettyPrec _ (KindTuple t) = parenList . map pretty $ t- prettyPrec _ (KindList l) = brackets . pretty $ l- prettyPrec n (KindApp a b) =- parensIf (n > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]--ppOptKind :: Maybe Kind -> [Doc]-ppOptKind Nothing = []-ppOptKind (Just k) = [text "::", pretty k]--------------------- Functional Dependencies --------------------instance Pretty FunDep where- pretty (FunDep from to) =- myFsep $ map pretty from ++ [text "->"] ++ map pretty to---ppFunDeps :: [FunDep] -> Doc-ppFunDeps [] = empty-ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds--------------------------- Expressions --------------------------instance Pretty Rhs where- pretty (UnGuardedRhs e) = equals <+> pretty e- pretty (GuardedRhss guardList) = myVcat . map pretty $ guardList--instance Pretty GuardedRhs where- pretty (GuardedRhs _pos guards ppBody') =- myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']--newtype GuardedAlts = GuardedAlts Rhs-newtype GuardedAlt = GuardedAlt GuardedRhs--instance Pretty GuardedAlts where- pretty (GuardedAlts (UnGuardedRhs e)) = text "->" <+> pretty e- pretty (GuardedAlts (GuardedRhss guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList--instance Pretty GuardedAlt where- pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =- myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']--instance Pretty Literal where- pretty (Int i) = integer i- pretty (Char c) = text (show c)- pretty (String s) = text (show s)- pretty (Frac r) = double (fromRational r)- -- GHC unboxed literals:- pretty (PrimChar c) = text (show c) <> char '#'- pretty (PrimString s) = text (show s) <> char '#'- pretty (PrimInt i) = integer i <> char '#'- pretty (PrimWord w) = integer w <> text "##"- pretty (PrimFloat r) = float (fromRational r) <> char '#'- pretty (PrimDouble r) = double (fromRational r) <> text "##"--instance Pretty Exp where- prettyPrec _ (Lit l) = pretty l- -- lambda stuff- -- WARNING: This stuff is fragile. See #152 for one example of how- -- things can break.- prettyPrec p (InfixApp a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]- prettyPrec p (NegApp e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e- prettyPrec p (App a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]- prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $- char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']- -- keywords- -- two cases for lets- prettyPrec p (Let (BDecls declList) letBody) =- parensIf (p > 1) $ ppLetExp declList letBody- prettyPrec p (Let (IPBinds bindList) letBody) =- parensIf (p > 1) $ ppLetExp bindList letBody-- prettyPrec p (If cond thenexp elsexp) = parensIf (p > 1) $- myFsep [text "if", pretty cond,- text "then", pretty thenexp,- text "else", pretty elsexp]- prettyPrec p (MultiIf alts) = parensIf (p > 1) $- text "if"- $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)- prettyPrec p (Case cond altList) = parensIf (p > 1) $- myFsep [text "case", pretty cond, text "of"]- $$$ ppBody caseIndent (map pretty altList)- prettyPrec p (Do stmtList) = parensIf (p > 1) $- text "do" $$$ ppBody doIndent (map pretty stmtList)- prettyPrec p (MDo stmtList) = parensIf (p > 1) $- text "mdo" $$$ ppBody doIndent (map pretty stmtList)- -- Constructors & Vars- prettyPrec _ (Var name) = pretty name- prettyPrec _ (IPVar ipname) = pretty ipname- prettyPrec _ (Con name) = pretty name- prettyPrec _ (Tuple bxd expList) =- let ds = map pretty expList- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (TupleSection bxd mExpList) =- let ds = map (maybePP pretty) mExpList- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- -- weird stuff- prettyPrec _ (Paren e) = parens . pretty $ e- prettyPrec _ (LeftSection e op) = parens (pretty e <+> pretty op)- prettyPrec _ (RightSection op e) = parens (pretty op <+> pretty e)- prettyPrec _ (RecConstr c fieldList) =- pretty c <> (braceList . map pretty $ fieldList)- prettyPrec _ (RecUpdate e fieldList) =- pretty e <> (braceList . map pretty $ fieldList)- -- Lists and parallel arrays- prettyPrec _ (List list) =- bracketList . punctuate comma . map pretty $ list- prettyPrec _ (ParArray arr) =- bracketColonList . map pretty $ arr- prettyPrec _ (EnumFrom e) =- bracketList [pretty e, text ".."]- prettyPrec _ (EnumFromTo from to) =- bracketList [pretty from, text "..", pretty to]- prettyPrec _ (EnumFromThen from thenE) =- bracketList [pretty from <> comma, pretty thenE, text ".."]- prettyPrec _ (EnumFromThenTo from thenE to) =- bracketList [pretty from <> comma, pretty thenE,- text "..", pretty to]- prettyPrec _ (ParArrayFromTo from to) =- bracketColonList [pretty from, text "..", pretty to]- prettyPrec _ (ParArrayFromThenTo from thenE to) =- bracketColonList [pretty from <> comma, pretty thenE,- text "..", pretty to]- prettyPrec _ (ListComp e qualList) =- bracketList ([pretty e, char '|']- ++ (punctuate comma . map pretty $ qualList))- prettyPrec _ (ParComp e qualLists) =- bracketList (punctuate (char '|') $- pretty e : map (hsep . punctuate comma . map pretty) qualLists)- prettyPrec _ (ParArrayComp e qualArrs) =- bracketColonList (punctuate (char '|') $- pretty e : map (hsep . punctuate comma . map pretty) qualArrs)- prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $- myFsep [pretty e, text "::", pretty ty]- -- Template Haskell- prettyPrec _ (BracketExp b) = pretty b- prettyPrec _ (SpliceExp s) = pretty s- prettyPrec _ (TypQuote t) = text "\'\'" <> pretty t- prettyPrec _ (VarQuote x) = text "\'" <> pretty x- prettyPrec _ (QuasiQuote n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")- -- Hsx- prettyPrec _ (XTag _ n attrs mattr cs) =- let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]- prettyPrec _ (XETag _ n attrs mattr) =- let ax = maybe [] (return . pretty) mattr- in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]- prettyPrec _ (XPcdata s) = text s- prettyPrec _ (XExpTag e) =- myFsep [text "<%", pretty e, text "%>"]- prettyPrec _ (XChildTag _ cs) =- myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]-- -- Pragmas- prettyPrec _ (CorePragma s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]- prettyPrec _ (SCCPragma s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]- prettyPrec _ (GenPragma s (a,b) (c,d) e) =- myFsep [text "{-# GENERATED", text $ show s,- int a, char ':', int b, char '-',- int c, char ':', int d, text "#-}", pretty e]- -- Arrows- prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]- prettyPrec p (LeftArrApp l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<", pretty r]- prettyPrec p (RightArrApp l r) = parensIf (p > 0) $ myFsep [pretty l, text ">-", pretty r]- prettyPrec p (LeftArrHighApp l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<<", pretty r]- prettyPrec p (RightArrHighApp l r) = parensIf (p > 0) $ myFsep [pretty l, text ">>-", pretty r]-- -- LamdaCase- prettyPrec p (LCase altList) = parensIf (p > 1) $- text "\\case" $$$ ppBody caseIndent (map pretty altList)- prettyPrec _ ExprHole = char '_'---instance Pretty XAttr where- pretty (XAttr n v) =- myFsep [pretty n, char '=', pretty v]--instance Pretty XName where- pretty (XName n) = text n- pretty (XDomName d n) = text d <> char ':' <> text n--ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc-ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),- text "in", pretty b]---- ppWith :: Pretty a => [a] -> Doc--- ppWith binds = nest 2 (text "with" $$$ ppBody withIndent (map pretty binds))--- withIndent :: PPHsMode -> Indent--- withIndent = whereIndent----------------------- Template Haskell ---------------------------instance Pretty Bracket where- pretty (ExpBracket e) = ppBracket "[|" e- pretty (PatBracket p) = ppBracket "[p|" p- pretty (TypeBracket t) = ppBracket "[t|" t- pretty (DeclBracket d) =- myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]--ppBracket :: Pretty a => String -> a -> Doc-ppBracket o x = myFsep [text o, pretty x, text "|]"]--instance Pretty Splice where- pretty (IdSplice s) = char '$' <> text s- pretty (ParenSplice e) =- myFsep [text "$(", pretty e, char ')']--------------------------- Patterns -------------------------------instance Pretty Pat where- prettyPrec _ (PVar name) = pretty name- prettyPrec _ (PLit Signless lit) = pretty lit- prettyPrec p (PLit Negative lit) = parensIf (p > 1) $ char '-' <> pretty lit- prettyPrec p (PInfixApp a op b) = parensIf (p > 0) $- myFsep [prettyPrec 1 a, pretty (QConOp op), prettyPrec 1 b]- prettyPrec p (PApp n ps) = parensIf (p > 2 && not (null ps)) $- myFsep (pretty n : map (prettyPrec 3) ps)- prettyPrec _ (PTuple bxd ps) =- let ds = map pretty ps- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (PList ps) =- bracketList . punctuate comma . map pretty $ ps- prettyPrec _ (PParen pat) = parens . pretty $ pat- prettyPrec _ (PRec c fields) =- pretty c <> (braceList . map pretty $ fields)- -- special case that would otherwise be buggy- prettyPrec _ (PAsPat name (PIrrPat pat)) =- myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]- prettyPrec _ (PAsPat name pat) =- hcat [pretty name, char '@', prettyPrec 3 pat]- prettyPrec _ PWildCard = char '_'- prettyPrec _ (PIrrPat pat) = char '~' <> prettyPrec 3 pat- prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $- myFsep [pretty pat, text "::", pretty ty]- prettyPrec p (PViewPat e pat) = parensIf (p > 0) $- myFsep [pretty e, text "->", pretty pat]- prettyPrec p (PNPlusK n k) = parensIf (p > 0) $- myFsep [pretty n, text "+", text $ show k]- -- HaRP- prettyPrec _ (PRPat rs) =- bracketList . punctuate comma . map pretty $ rs- -- Hsx- prettyPrec _ (PXTag _ n attrs mattr cp) =- let ap = maybe [] (return . pretty) mattr- in hcat $ -- TODO: should not introduce blanks- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):- map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]- prettyPrec _ (PXETag _ n attrs mattr) =- let ap = maybe [] (return . pretty) mattr- in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]- prettyPrec _ (PXPcdata s) = text s- prettyPrec _ (PXPatTag p) =- myFsep [text "<%", pretty p, text "%>"]- prettyPrec _ (PXRPats ps) =- myFsep $ text "<[" : map pretty ps ++ [text "%>"]- -- BangPatterns- prettyPrec _ (PBangPat pat) = text "!" <> prettyPrec 3 pat- prettyPrec _ (PQuasiQuote n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")--instance Pretty PXAttr where- pretty (PXAttr n p) =- myFsep [pretty n, char '=', pretty p]--instance Pretty PatField where- pretty (PFieldPat name pat) =- myFsep [pretty name, equals, pretty pat]- pretty (PFieldPun name) = pretty name- pretty (PFieldWildcard) = text ".."----------------------- Regular Patterns ---------------------------instance Pretty RPat where- pretty (RPOp r op) = pretty r <> pretty op- pretty (RPEither r1 r2) = parens . myFsep $- [pretty r1, char '|', pretty r2]- pretty (RPSeq rs) =- myFsep $ text "(|" : (punctuate comma . map pretty $ rs)- ++ [text "|)"]- pretty (RPGuard r gs) =- myFsep $ text "(|" : pretty r : char '|' :- (punctuate comma . map pretty $ gs) ++ [text "|)"]- -- special case that would otherwise be buggy- pretty (RPCAs n (RPPat (PIrrPat p))) =- myFsep [pretty n <> text "@:", char '~' <> pretty p]- pretty (RPCAs n r) = hcat [pretty n, text "@:", pretty r]- -- special case that would otherwise be buggy- pretty (RPAs n (RPPat (PIrrPat p))) =- myFsep [pretty n <> text "@:", char '~' <> pretty p]- pretty (RPAs n r) = hcat [pretty n, char '@', pretty r]- pretty (RPPat p) = pretty p- pretty (RPParen rp) = parens . pretty $ rp--instance Pretty RPatOp where- pretty RPStar = char '*'- pretty RPStarG = text "*!"- pretty RPPlus = char '+'- pretty RPPlusG = text "+!"- pretty RPOpt = char '?'- pretty RPOptG = text "?!"--------------------------- Case bodies --------------------------instance Pretty Alt where- pretty (Alt _pos e gAlts binds) =- pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds--------------------------- Statements in monads, guards & list comprehensions ------instance Pretty Stmt where- pretty (Generator _loc e from) =- pretty e <+> text "<-" <+> pretty from- pretty (Qualifier e) = pretty e- -- two cases for lets- pretty (LetStmt (BDecls declList)) =- ppLetStmt declList- pretty (LetStmt (IPBinds bindList)) =- ppLetStmt bindList- pretty (RecStmt stmtList) =- text "rec" $$$ ppBody letIndent (map pretty stmtList)--ppLetStmt :: Pretty a => [a] -> Doc-ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)--instance Pretty QualStmt where- pretty (QualStmt s) = pretty s- pretty (ThenTrans f) = myFsep [text "then", pretty f]- pretty (ThenBy f e) = myFsep [text "then", pretty f, text "by", pretty e]- pretty (GroupBy e) = myFsep [text "then", text "group", text "by", pretty e]- pretty (GroupUsing f) = myFsep [text "then", text "group", text "using", pretty f]- pretty (GroupByUsing e f) = myFsep [text "then", text "group", text "by",- pretty e, text "using", pretty f]----------------------------- Record updates-instance Pretty FieldUpdate where- pretty (FieldUpdate name e) =- myFsep [pretty name, equals, pretty e]- pretty (FieldPun name) = pretty name- pretty (FieldWildcard) = text ".."--------------------------- Names --------------------------instance Pretty QOp where- pretty (QVarOp n) = ppQNameInfix n- pretty (QConOp n) = ppQNameInfix n--ppQNameInfix :: QName -> Doc-ppQNameInfix name- | isSymbolName (getName name) = ppQName name- | otherwise = char '`' <> ppQName name <> char '`'--instance Pretty QName where- pretty name = case name of- UnQual (Symbol ('#':_)) -> char '(' <+> ppQName name <+> char ')'- _ -> parensIf (isSymbolName (getName name)) (ppQName name)--ppQName :: QName -> Doc-ppQName (UnQual name) = ppName name-ppQName (Qual m name) = pretty m <> char '.' <> ppName name-ppQName (Special sym) = text (specialName sym)--instance Pretty Op where- pretty (VarOp n) = ppNameInfix n- pretty (ConOp n) = ppNameInfix n--ppNameInfix :: Name -> Doc-ppNameInfix name- | isSymbolName name = ppName name- | otherwise = char '`' <> ppName name <> char '`'--instance Pretty Name where- pretty name = case name of- Symbol ('#':_) -> char '(' <+> ppName name <+> char ')'- _ -> parensIf (isSymbolName name) (ppName name)--ppName :: Name -> Doc-ppName (Ident s) = text s-ppName (Symbol s) = text s--instance Pretty IPName where- pretty (IPDup s) = char '?' <> text s- pretty (IPLin s) = char '%' <> text s--instance PrettyDeclLike IPBind where- wantsBlankline _ = False--instance Pretty IPBind where- pretty (IPBind _loc ipname exp) =- myFsep [pretty ipname, equals, pretty exp]--instance Pretty CName where- pretty (VarName n) = pretty n- pretty (ConName n) = pretty n--instance Pretty SpecialCon where- pretty sc = text $ specialName sc--isSymbolName :: Name -> Bool-isSymbolName (Symbol _) = True-isSymbolName _ = False--getSpecialName :: QName -> Maybe SpecialCon-getSpecialName (Special n) = Just n-getSpecialName _ = Nothing--getName :: QName -> Name-getName (UnQual s) = s-getName (Qual _ s) = s-getName (Special Cons) = Symbol ":"-getName (Special FunCon) = Symbol "->"-getName (Special s) = Ident (specialName s)--specialName :: SpecialCon -> String-specialName UnitCon = "()"-specialName ListCon = "[]"-specialName FunCon = "->"-specialName (TupleCon b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"- where hash = if b == Unboxed then "#" else ""-specialName Cons = ":"-specialName UnboxedSingleCon = "(# #)"---- Contexts are "sets" of assertions. Several members really means it's a--- CxTuple, but we can't represent that in our list of assertions.--- Therefore: print single member contexts without parenthesis, and treat--- larger contexts as tuples.-ppContext :: Context -> Doc-ppContext [] = empty-ppContext [ctxt] = pretty ctxt <+> text "=>"-ppContext context = mySep [parenList (map pretty context), text "=>"]---- hacked for multi-parameter type classes-instance Pretty Asst where- pretty (ClassA a ts) = myFsep $ pretty a : map ppAType ts- pretty (AppA n ns) = myFsep $ pretty n : map pretty ns- pretty (InfixA a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]- pretty (IParam i t) = myFsep [pretty i, text "::", pretty t]- pretty (EqualP t1 t2) = myFsep [pretty t1, text "~", pretty t2]- pretty (ParenA a) = parens (pretty a)- pretty (WildCardA mn) = char '_' <> maybePP pretty mn---- Pretty print a source location, useful for printing out error messages-instance Pretty SrcLoc where- pretty srcLoc =- return $ P.hsep [ colonFollow (P.text $ srcFilename srcLoc)- , colonFollow (P.int $ srcLine srcLoc)- , P.int $ srcColumn srcLoc- ]--colonFollow :: P.Doc -> P.Doc-colonFollow p = P.hcat [ p, P.colon ]---instance Pretty SrcSpan where- pretty srcSpan =- return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)- , P.hcat [ P.text "("- , P.int $ srcSpanStartLine srcSpan- , P.colon- , P.int $ srcSpanStartColumn srcSpan- , P.text ")"- ]- , P.text "-"- , P.hcat [ P.text "("- , P.int $ srcSpanEndLine srcSpan- , P.colon- , P.int $ srcSpanEndColumn srcSpan- , P.text ")"- ]- ]-------------------------------------------------------------------------- Annotated version--------------------------- Pretty-Print a Module ---------------------instance SrcInfo pos => Pretty (A.Module pos) where- pretty (A.Module pos mbHead os imp decls) =- markLine pos $- myVcat $ map pretty os ++- (case mbHead of- Nothing -> id- Just h -> \x -> [topLevel (pretty h) x])- (map pretty imp ++- ppDecls (isJust mbHead ||- not (null imp) ||- not (null os))- decls)- pretty (A.XmlPage pos _mn os n attrs mattr cs) =- markLine pos $- myVcat $ map pretty os ++- [let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]- pretty (A.XmlHybrid pos mbHead os imp decls n attrs mattr cs) =- markLine pos $- myVcat $ map pretty os ++ [text "<%"] ++- (case mbHead of- Nothing -> id- Just h -> \x -> [topLevel (pretty h) x])- (map pretty imp ++- ppDecls (isJust mbHead || not (null imp) || not (null os)) decls ++- [let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])------------------------------ Module Header -------------------------------instance Pretty (A.ModuleHead l) where- pretty (A.ModuleHead _ m mbWarn mbExportList) = mySep [- text "module",- pretty m,- maybePP pretty mbWarn,- maybePP pretty mbExportList,- text "where"]--instance Pretty (A.WarningText l) where- pretty = ppWarnTxt. sWarningText--instance Pretty (A.ModuleName l) where- pretty = pretty . sModuleName--instance Pretty (A.ExportSpecList l) where- pretty (A.ExportSpecList _ especs) = parenList $ map pretty especs--instance Pretty (A.ExportSpec l) where- pretty = pretty . sExportSpec--instance SrcInfo pos => Pretty (A.ImportDecl pos) where- pretty = pretty . sImportDecl--instance Pretty (A.ImportSpecList l) where- pretty (A.ImportSpecList _ b ispecs) =- (if b then text "hiding" else empty)- <+> parenList (map pretty ispecs)--instance Pretty (A.ImportSpec l) where- pretty = pretty . sImportSpec--------------------------- Declarations -------------------------------instance SrcInfo pos => Pretty (A.Decl pos) where- pretty = pretty . sDecl--instance SrcInfo pos => PrettyDeclLike (A.Decl pos) where- wantsBlankline = wantsBlankline . sDecl--instance Pretty (A.DeclHead l) where- pretty (A.DHead _ n) = pretty n- pretty (A.DHInfix _ tva n) = mySep [pretty tva, pretty n]- pretty (A.DHParen _ dh) = parens (pretty dh)- pretty (A.DHApp _ dh t) = myFsep [pretty dh, pretty t]--instance SrcInfo l => Pretty (A.InstRule l) where- pretty (A.IRule _ tvs mctxt qn) =- mySep [ppForall (fmap (map sTyVarBind) tvs)- , ppContext $ maybe [] sContext mctxt, pretty qn]- pretty (A.IParen _ ih) = parens (pretty ih)--instance SrcInfo l => Pretty (A.InstHead l) where- pretty (A.IHCon _ qn) = pretty qn- pretty (A.IHInfix _ ta qn) = mySep [pretty ta, pretty qn]- pretty (A.IHParen _ ih) = parens (pretty ih)- pretty (A.IHApp _ ih t) = myFsep [pretty ih, pretty t]--instance Pretty (A.DataOrNew l) where- pretty = pretty . sDataOrNew--instance Pretty (A.Assoc l) where- pretty = pretty . sAssoc--instance SrcInfo pos => Pretty (A.Match pos) where- pretty = pretty . sMatch--instance SrcInfo loc => Pretty (A.ClassDecl loc) where- pretty = pretty . sClassDecl--instance SrcInfo loc => Pretty (A.InstDecl loc) where- pretty = pretty . sInstDecl--------------------------- FFI stuff --------------------------------------instance Pretty (A.Safety l) where- pretty = pretty . sSafety--instance Pretty (A.CallConv l) where- pretty = pretty . sCallConv--------------------------- Pragmas ----------------------------------------instance SrcInfo loc => Pretty (A.Rule loc) where- pretty = pretty . sRule--instance Pretty (A.Activation l) where- pretty = pretty . sActivation--instance SrcInfo l => Pretty (A.RuleVar l) where- pretty = pretty . sRuleVar--instance SrcInfo loc => Pretty (A.ModulePragma loc) where- pretty (A.LanguagePragma _ ns) =- myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]- pretty (A.OptionsPragma _ (Just tool) s) =- myFsep [text "{-# OPTIONS_" <> pretty tool, text s, text "#-}"]- pretty (A.OptionsPragma _ _ s) =- myFsep [text "{-# OPTIONS", text s, text "#-}"]- pretty (A.AnnModulePragma _ ann) =- myFsep [text "{-# ANN", pretty ann, text "#-}"]--instance SrcInfo loc => Pretty (A.Annotation loc) where- pretty = pretty . sAnnotation--------------------------- Data & Newtype Bodies --------------------------instance SrcInfo l => Pretty (A.QualConDecl l) where- pretty (A.QualConDecl _pos mtvs ctxt con) =- myFsep [ppForall (fmap (map sTyVarBind) mtvs), ppContext $ maybe [] sContext ctxt, pretty con]--instance SrcInfo l => Pretty (A.GadtDecl l) where- pretty (A.GadtDecl _pos name names ty) =- case names of- Nothing ->- myFsep [pretty name, text "::", pretty ty]- Just ts ->- mySep $ [pretty name, text "::", char '{'] ++- map pretty ts ++ [char '}', text "->", pretty ty]--instance SrcInfo l => Pretty (A.ConDecl l) where- pretty = pretty . sConDecl--instance SrcInfo l => Pretty (A.FieldDecl l) where- pretty (A.FieldDecl _ names ty) =- myFsepSimple $ (punctuate comma . map pretty $ names) ++- [text "::", pretty ty]---instance SrcInfo l => Pretty (A.BangType l) where- pretty = pretty . sBangType--instance SrcInfo l => Pretty (A.Deriving l) where- pretty (A.Deriving _ []) = text "deriving" <+> parenList []- pretty (A.Deriving _ [A.IRule _ _ _ d]) = text "deriving" <+> pretty d- pretty (A.Deriving _ ihs) = text "deriving" <+> parenList (map pretty ihs)--------------------------- Types --------------------------instance SrcInfo l => Pretty (A.Type l) where- pretty = pretty . sType--instance Pretty (A.TyVarBind l) where- pretty = pretty . sTyVarBind------------------------------ Kinds ------------------------------instance Pretty (A.Kind l) where- pretty = pretty . sKind--------------------- Functional Dependencies --------------------instance Pretty (A.FunDep l) where- pretty = pretty . sFunDep--------------------------- Expressions --------------------------instance SrcInfo loc => Pretty (A.Rhs loc) where- pretty = pretty . sRhs--instance SrcInfo loc => Pretty (A.GuardedRhs loc) where- pretty = pretty . sGuardedRhs--instance Pretty (A.Literal l) where- pretty = pretty . sLiteral--instance SrcInfo loc => Pretty (A.Exp loc) where- pretty = pretty . sExp--instance SrcInfo loc => Pretty (A.XAttr loc) where- pretty = pretty . sXAttr--instance Pretty (A.XName l) where- pretty = pretty . sXName----------------------- Template Haskell ---------------------------instance SrcInfo loc => Pretty (A.Bracket loc) where- pretty = pretty . sBracket--instance SrcInfo loc => Pretty (A.Splice loc) where- pretty = pretty . sSplice--------------------------- Patterns -------------------------------instance SrcInfo loc => Pretty (A.Pat loc) where- pretty = pretty . sPat--instance SrcInfo loc => Pretty (A.PXAttr loc) where- pretty = pretty . sPXAttr--instance SrcInfo loc => Pretty (A.PatField loc) where- pretty = pretty . sPatField----------------------- Regular Patterns ---------------------------instance SrcInfo loc => Pretty (A.RPat loc) where- pretty = pretty . sRPat--instance Pretty (A.RPatOp l) where- pretty = pretty . sRPatOp--------------------------- Case bodies --------------------------instance SrcInfo loc => Pretty (A.Alt loc) where- pretty = pretty . sAlt--------------------------- Statements in monads, guards & list comprehensions ------instance SrcInfo loc => Pretty (A.Stmt loc) where- pretty = pretty . sStmt--instance SrcInfo loc => Pretty (A.QualStmt loc) where- pretty = pretty . sQualStmt--------------------------- Record updates-instance SrcInfo loc => Pretty (A.FieldUpdate loc) where- pretty = pretty . sFieldUpdate--------------------------- Names --------------------------instance Pretty (A.QOp l) where- pretty = pretty . sQOp--instance Pretty (A.QName l) where- pretty = pretty . sQName--instance Pretty (A.Op l) where- pretty = pretty . sOp--instance Pretty (A.Name l) where- pretty = pretty . sName--instance Pretty (A.IPName l) where- pretty = pretty . sIPName--instance SrcInfo loc => Pretty (A.IPBind loc) where- pretty = pretty . sIPBind--instance SrcInfo loc => PrettyDeclLike (A.IPBind loc) where- wantsBlankline = wantsBlankline . sIPBind--instance Pretty (A.CName l) where- pretty = pretty . sCName--instance SrcInfo l => Pretty (A.Context l) where- pretty (A.CxEmpty _) = mySep [text "()", text "=>"]- pretty (A.CxSingle _ asst) = mySep [pretty asst, text "=>"]- pretty (A.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]---- hacked for multi-parameter type classes-instance SrcInfo l => Pretty (A.Asst l) where- pretty = pretty . sAsst--------------------------- pp utils --------------------------maybePP :: (a -> Doc) -> Maybe a -> Doc-maybePP _ Nothing = empty-maybePP pp (Just a) = pp a--parenList :: [Doc] -> Doc-parenList = parens . myFsepSimple . punctuate comma--hashParenList :: [Doc] -> Doc-hashParenList = hashParens . myFsepSimple . punctuate comma- where hashParens = parens . hashes- hashes doc = char '#' <+> doc <+> char '#'--braceList :: [Doc] -> Doc-braceList = braces . myFsepSimple . punctuate comma--bracketList :: [Doc] -> Doc-bracketList = brackets . myFsepSimple--bracketColonList :: [Doc] -> Doc-bracketColonList = bracketColons . myFsepSimple- where bracketColons = brackets . colons- colons doc = char ':' <> doc <> char ':'---- Wrap in braces and semicolons, with an extra space at the start in--- case the first doc begins with "-", which would be scanned as {--flatBlock :: [Doc] -> Doc-flatBlock = braces . (space <>) . hsep . punctuate semi---- Same, but put each thing on a separate line-prettyBlock :: [Doc] -> Doc-prettyBlock = braces . (space <>) . vcat . punctuate semi---- Monadic PP Combinators -- these examine the env--blankline :: Doc -> Doc-blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout- then text "" $+$ dl else dl}-topLevel :: Doc -> [Doc] -> Doc-topLevel header dl = do- e <- fmap layout getPPEnv- case e of- PPOffsideRule -> header $$ vcat dl- PPSemiColon -> header $$ prettyBlock dl- PPInLine -> header $$ prettyBlock dl- PPNoLayout -> header <+> flatBlock dl--ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc-ppBody f dl = do- e <- fmap layout getPPEnv- case e of PPOffsideRule -> indent- PPSemiColon -> indentExplicit- _ -> flatBlock dl- where- indent = do{i <-fmap f getPPEnv;nest i . vcat $ dl}- indentExplicit = do {i <- fmap f getPPEnv;- nest i . prettyBlock $ dl}---- | Indent without braces. Useful for deriving clauses etc.-ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc-ppIndent f dl = do- i <- fmap f getPPEnv- nest i . vcat $ dl--($$$) :: Doc -> Doc -> Doc-a $$$ b = layoutChoice (a $$) (a <+>) b--mySep :: [Doc] -> Doc-mySep = layoutChoice mySep' hsep- where- -- ensure paragraph fills with indentation.- mySep' [x] = x- mySep' (x:xs) = x <+> fsep xs- mySep' [] = error "Internal error: mySep"--myVcat :: [Doc] -> Doc-myVcat = layoutChoice vcat hsep--myFsepSimple :: [Doc] -> Doc-myFsepSimple = layoutChoice fsep hsep---- same, except that continuation lines are indented,--- which is necessary to avoid triggering the offside rule.-myFsep :: [Doc] -> Doc-myFsep = layoutChoice fsep' hsep- where fsep' [] = empty- fsep' (d:ds) = do- e <- getPPEnv- let n = onsideIndent e- nest n (fsep (nest (-n) d:ds))--layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc-layoutChoice a b dl = do e <- getPPEnv- if layout e == PPOffsideRule ||- layout e == PPSemiColon- then a dl else b dl---- Prefix something with a LINE pragma, if requested.--- GHC's LINE pragma actually sets the current line number to n-1, so--- that the following line is line n. But if there's no newline before--- the line we're talking about, we need to compensate by adding 1.--markLine :: SrcInfo s => s -> Doc -> Doc-markLine loc doc = do- e <- getPPEnv- let y = startLine loc- let line l =- text ("{-# LINE " ++ show l ++ " \"" ++ fileName loc ++ "\" #-}")- if linePragmas e then layoutChoice (line y $$) (line (y+1) <+>) doc- else doc------------------------------------------------------------------------------------- Pretty-printing of internal constructs, for error messages while parsing--instance SrcInfo loc => Pretty (P.PExp loc) where- pretty (P.Lit _ l) = pretty l- pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]- pretty (P.NegApp _ e) = myFsep [char '-', pretty e]- pretty (P.App _ a b) = myFsep [pretty a, pretty b]- pretty (P.Lambda _loc expList ppBody') = myFsep $- char '\\' : map pretty expList ++ [text "->", pretty ppBody']- pretty (P.Let _ (A.BDecls _ declList) letBody) =- ppLetExp declList letBody- pretty (P.Let _ (A.IPBinds _ bindList) letBody) =- ppLetExp bindList letBody- pretty (P.If _ cond thenexp elsexp) =- myFsep [text "if", pretty cond,- text "then", pretty thenexp,- text "else", pretty elsexp]- pretty (P.MultiIf _ alts) =- text "if"- $$$ ppBody caseIndent (map pretty alts)- pretty (P.Case _ cond altList) =- myFsep [text "case", pretty cond, text "of"]- $$$ ppBody caseIndent (map pretty altList)- pretty (P.Do _ stmtList) =- text "do" $$$ ppBody doIndent (map pretty stmtList)- pretty (P.MDo _ stmtList) =- text "mdo" $$$ ppBody doIndent (map pretty stmtList)- pretty (P.Var _ name) = pretty name- pretty (P.IPVar _ ipname) = pretty ipname- pretty (P.Con _ name) = pretty name- pretty (P.TupleSection _ bxd mExpList) =- let ds = map (maybePP pretty) mExpList- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- pretty (P.Paren _ e) = parens . pretty $ e- pretty (P.RecConstr _ c fieldList) =- pretty c <> (braceList . map pretty $ fieldList)- pretty (P.RecUpdate _ e fieldList) =- pretty e <> (braceList . map pretty $ fieldList)- pretty (P.List _ list) =- bracketList . punctuate comma . map pretty $ list- pretty (P.ParArray _ arr) =- bracketColonList . punctuate comma . map pretty $ arr- pretty (P.EnumFrom _ e) =- bracketList [pretty e, text ".."]- pretty (P.EnumFromTo _ from to) =- bracketList [pretty from, text "..", pretty to]- pretty (P.EnumFromThen _ from thenE) =- bracketList [pretty from <> comma, pretty thenE, text ".."]- pretty (P.EnumFromThenTo _ from thenE to) =- bracketList [pretty from <> comma, pretty thenE,- text "..", pretty to]- pretty (P.ParArrayFromTo _ from to) =- bracketColonList [pretty from, text "..", pretty to]- pretty (P.ParArrayFromThenTo _ from thenE to) =- bracketColonList [pretty from <> comma, pretty thenE,- text "..", pretty to]- pretty (P.ParComp _ e qualLists) =- bracketList (intersperse (char '|') $- pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))- pretty (P.ParArrayComp _ e qualArrs) =- bracketColonList (intersperse (char '|') $- pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))- pretty (P.ExpTypeSig _pos e ty) =- myFsep [pretty e, text "::", pretty ty]- pretty (P.BracketExp _ b) = pretty b- pretty (P.SpliceExp _ s) = pretty s- pretty (P.TypQuote _ t) = text "\'\'" <> pretty t- pretty (P.VarQuote _ x) = text "\'" <> pretty x- pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")- pretty (P.XTag _ n attrs mattr cs) =- let ax = maybe [] (return . pretty) mattr- in hcat $- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):- map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]- pretty (P.XETag _ n attrs mattr) =- let ax = maybe [] (return . pretty) mattr- in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]- pretty (P.XPcdata _ s) = text s- pretty (P.XExpTag _ e) =- myFsep [text "<%", pretty e, text "%>"]- pretty (P.XChildTag _ es) =- myFsep $ text "<%>" : map pretty es ++ [text "</%>"]- pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]- pretty (P.SCCPragma _ s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]- pretty (P.GenPragma _ s (a,b) (c,d) e) =- myFsep [text "{-# GENERATED", text $ show s,- int a, char ':', int b, char '-',- int c, char ':', int d, text "#-}", pretty e]- pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]- pretty (P.LeftArrApp _ l r) = myFsep [pretty l, text "-<", pretty r]- pretty (P.RightArrApp _ l r) = myFsep [pretty l, text ">-", pretty r]- pretty (P.LeftArrHighApp _ l r) = myFsep [pretty l, text "-<<", pretty r]- pretty (P.RightArrHighApp _ l r) = myFsep [pretty l, text ">>-", pretty r]- pretty (P.AsPat _ name (P.IrrPat _ pat)) =- myFsep [pretty name <> char '@', char '~' <> pretty pat]- pretty (P.AsPat _ name pat) =- hcat [pretty name, char '@', pretty pat]- pretty (P.WildCard _) = char '_'- pretty (P.IrrPat _ pat) = char '~' <> pretty pat- pretty (P.PostOp _ e op) = pretty e <+> pretty op- pretty (P.PreOp _ op e) = pretty op <+> pretty e- pretty (P.ViewPat _ e p) =- myFsep [pretty e, text "->", pretty p]- pretty (P.SeqRP _ rs) =- myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]- pretty (P.GuardRP _ r gs) =- myFsep $ text "(|" : pretty r : char '|' :- (punctuate comma . map pretty $ gs) ++ [text "|)"]- pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]- pretty (P.CAsRP _ n (P.IrrPat _ e)) =- myFsep [pretty n <> text "@:", char '~' <> pretty e]- pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]- pretty (P.XRPats _ ps) =- myFsep $ text "<[" : map pretty ps ++ [text "%>"]- pretty (P.BangPat _ e) = text "!" <> pretty e- pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)--instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where- pretty (P.FieldUpdate _ name e) =- myFsep [pretty name, equals, pretty e]- pretty (P.FieldPun _ name) = pretty name- pretty (P.FieldWildcard _) = text ".."--instance SrcInfo loc => Pretty (P.ParseXAttr loc) where- pretty (P.XAttr _ n v) =- myFsep [pretty n, char '=', pretty v]--instance SrcInfo loc => Pretty (P.PContext loc) where- pretty (P.CxEmpty _) = mySep [text "()", text "=>"]- pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]- pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]--instance SrcInfo loc => Pretty (P.PAsst loc) where- pretty (P.ClassA _ a ts) = myFsep $ pretty (sQName a) : map (prettyPrec prec_atype) ts- pretty (P.AppA _ n ns) = myFsep $ pretty n : map (prettyPrec prec_atype) ns- pretty (P.InfixA _ a op b) = myFsep [pretty a, ppQNameInfix (sQName op), pretty b]- pretty (P.IParam _ i t) = myFsep [pretty i, text "::", pretty t]- pretty (P.EqualP _ t1 t2) = myFsep [pretty t1, text "~", pretty t2]- pretty (P.ParenA _ a) = parens (pretty a)- pretty (P.WildCardA _ mn) = char '_' <> maybePP pretty mn--instance SrcInfo loc => Pretty (P.PType loc) where- prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $- myFsep [ppForall (fmap (map sTyVarBind) mtvs), maybePP pretty ctxt, pretty htype]- prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $- myFsep [prettyPrec prec_btype a, text "->", pretty b]- prettyPrec _ (P.TyTuple _ bxd l) =- let ds = map pretty l- in case bxd of- Boxed -> parenList ds- Unboxed -> hashParenList ds- prettyPrec _ (P.TyList _ t) = brackets $ pretty t- prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]- prettyPrec p (P.TyApp _ a b) =- {-- | a == list_tycon = brackets $ pretty b -- special case- | otherwise = -} parensIf (p > prec_btype) $- myFsep [pretty a, prettyPrec prec_atype b]- prettyPrec _ (P.TyVar _ name) = pretty name- prettyPrec _ (P.TyCon _ name) = pretty name- prettyPrec _ (P.TyParen _ t) = parens (pretty t)- prettyPrec _ (P.TyPred _ asst) = pretty asst- prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, ppQNameInfix (sQName op), pretty b]- prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])- prettyPrec _ (P.TyPromoted _ p) = pretty $ sPromoted p- prettyPrec _ (P.TySplice _ s) = pretty s- prettyPrec _ (P.TyBang _ b t) = pretty b <> prettyPrec prec_atype t- prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn+{-# LANGUAGE CPP #-}+-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Pretty+-- Copyright : (c) Niklas Broberg 2004-2009,+-- (c) The GHC Team, Noel Winstanley 1997-2000+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : stable+-- Portability : portable+--+-- Pretty printer for Haskell with extensions.+--+-----------------------------------------------------------------------------++module Language.Haskell.Exts.Pretty (+ -- * Pretty printing+ Pretty,+ prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,+ -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")+ P.Style(..), P.style, P.Mode(..),+ -- * Haskell formatting modes+ PPHsMode(..), Indent, PPLayout(..), defaultMode+ -- * Primitive Printers+ , prettyPrim, prettyPrimWithMode+ ) where++import Language.Haskell.Exts.Syntax+import qualified Language.Haskell.Exts.ParseSyntax as P++import Language.Haskell.Exts.SrcLoc hiding (loc)++import Prelude hiding ( exp+#if MIN_VERSION_base(4,11,0)+ , (<>)+#endif+ )+import qualified Text.PrettyPrint as P+import Data.List (intersperse)+import Data.Maybe (isJust , fromMaybe)+#if __GLASGOW_HASKELL__ < 710+import Control.Applicative (Applicative(..), (<$>))+#endif+import qualified Control.Monad as M (ap)++infixl 5 $$$++-----------------------------------------------------------------------------++-- | Varieties of layout we can use.+data PPLayout = PPOffsideRule -- ^ classical layout+ | PPSemiColon -- ^ classical layout made explicit+ | PPInLine -- ^ inline decls, with newlines between them+ | PPNoLayout -- ^ everything on a single line+ deriving Eq++type Indent = Int++-- | Pretty-printing parameters.+--+-- /Note:/ the 'onsideIndent' must be positive and less than all other indents.+data PPHsMode = PPHsMode {+ -- | indentation of a class or instance+ classIndent :: Indent,+ -- | indentation of a @do@-expression+ doIndent :: Indent,+ -- | indentation of the body of a+ -- @case@ expression+ multiIfIndent :: Indent,+ -- | indentation of the body of a+ -- multi-@if@ expression+ caseIndent :: Indent,+ -- | indentation of the declarations in a+ -- @let@ expression+ letIndent :: Indent,+ -- | indentation of the declarations in a+ -- @where@ clause+ whereIndent :: Indent,+ -- | indentation added for continuation+ -- lines that would otherwise be offside+ onsideIndent :: Indent,+ -- | blank lines between statements?+ spacing :: Bool,+ -- | Pretty-printing style to use+ layout :: PPLayout,+ -- | add GHC-style @LINE@ pragmas to output?+ linePragmas :: Bool+ }++-- | The default mode: pretty-print using the offside rule and sensible+-- defaults.+defaultMode :: PPHsMode+defaultMode = PPHsMode{+ classIndent = 8,+ doIndent = 3,+ multiIfIndent = 3,+ caseIndent = 4,+ letIndent = 4,+ whereIndent = 6,+ onsideIndent = 2,+ spacing = True,+ layout = PPOffsideRule,+ linePragmas = False+ }++-- | Pretty printing monad+newtype DocM s a = DocM (s -> a)++instance Functor (DocM s) where+ fmap f xs = do x <- xs; return (f x)++instance Applicative (DocM s) where+ pure = retDocM+ (<*>) = M.ap++instance Monad (DocM s) where+ (>>=) = thenDocM+ (>>) = then_DocM++{-# INLINE thenDocM #-}+{-# INLINE then_DocM #-}+{-# INLINE retDocM #-}+{-# INLINE unDocM #-}+{-# INLINE getPPEnv #-}++thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b+thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s++then_DocM :: DocM s a -> DocM s b -> DocM s b+then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s++retDocM :: a -> DocM s a+retDocM a = DocM $ const a++unDocM :: DocM s a -> s -> a+unDocM (DocM f) = f++-- all this extra stuff, just for this one function.+getPPEnv :: DocM s s+getPPEnv = DocM id++-- So that pp code still looks the same+-- this means we lose some generality though++-- | The document type produced by these pretty printers uses a 'PPHsMode'+-- environment.+type Doc = DocM PPHsMode P.Doc++-- | Things that can be pretty-printed, including all the syntactic objects+-- in "Language.Haskell.Exts.Syntax".+class Pretty a where+ -- | Pretty-print something in isolation.+ pretty :: a -> Doc+ -- | Pretty-print something in a precedence context.+ prettyPrec :: Int -> a -> Doc+ pretty = prettyPrec 0+ prettyPrec _ = pretty++-- The pretty printing combinators++empty :: Doc+empty = return P.empty++nest :: Int -> Doc -> Doc+nest i m = m >>= return . P.nest i+++-- Literals++text :: String -> Doc+text = return . P.text++char :: Char -> Doc+char = return . P.char++int :: Int -> Doc+int = return . P.int++integer :: Integer -> Doc+integer = return . P.integer++float :: Float -> Doc+float = return . P.float++double :: Double -> Doc+double = return . P.double++-- rational :: Rational -> Doc+-- rational = return . P.rational++-- Simple Combining Forms++parens, brackets, braces, doubleQuotes :: Doc -> Doc+parens d = d >>= return . P.parens+brackets d = d >>= return . P.brackets+braces d = d >>= return . P.braces+-- quotes :: Doc -> Doc+-- quotes d = d >>= return . P.quotes+doubleQuotes d = d >>= return . P.doubleQuotes++parensIf :: Bool -> Doc -> Doc+parensIf True = parens+parensIf False = id++-- Constants++semi,comma,space,equals :: Doc+semi = return P.semi+comma = return P.comma+-- colon :: Doc+-- colon = return P.colon+space = return P.space+equals = return P.equals++{-+lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc+lparen = return P.lparen+rparen = return P.rparen+lbrack = return P.lbrack+rbrack = return P.rbrack+lbrace = return P.lbrace+rbrace = return P.rbrace+-}++-- Combinators++(<>),(<+>),($$) :: Doc -> Doc -> Doc+aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}+aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}+aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}+($+$) :: Doc -> Doc -> Doc+aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}++hcat,hsep,vcat,fsep :: [Doc] -> Doc+hcat dl = sequence dl >>= return . P.hcat+hsep dl = sequence dl >>= return . P.hsep+vcat dl = sequence dl >>= return . P.vcat+-- sep, cat, fcat :: [Doc] -> Doc+-- sep dl = sequence dl >>= return . P.sep+-- cat dl = sequence dl >>= return . P.cat+fsep dl = sequence dl >>= return . P.fsep+-- fcat dl = sequence dl >>= return . P.fcat++-- Some More++-- hang :: Doc -> Int -> Doc -> Doc+-- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}++-- Yuk, had to cut-n-paste this one from Pretty.hs+punctuate :: Doc -> [Doc] -> [Doc]+punctuate _ [] = []+punctuate p (d1:ds) = go d1 ds+ where+ go d [] = [d]+ go d (e:es) = (d <> p) : go e es++-- | render the document with a given style and mode.+renderStyleMode :: P.Style -> PPHsMode -> Doc -> String+renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode++-- | render the document with a given mode.+-- renderWithMode :: PPHsMode -> Doc -> String+-- renderWithMode = renderStyleMode P.style++-- | render the document with 'defaultMode'.+-- render :: Doc -> String+-- render = renderWithMode defaultMode++-- | pretty-print with a given style and mode.+prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String+prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty++-- | pretty-print with the default style and a given mode.+prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String+prettyPrintWithMode = prettyPrintStyleMode P.style++-- | pretty-print with the default style and 'defaultMode'.+prettyPrint :: Pretty a => a -> String+prettyPrint = prettyPrintWithMode defaultMode++-- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->+-- (P.TextDetails -> a -> a) -> a -> Doc -> a+-- fullRenderWithMode ppMode m i f fn e mD =+-- P.fullRender m i f fn e $ (unDocM mD) ppMode+++-- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)+-- -> a -> Doc -> a+-- fullRender = fullRenderWithMode defaultMode++-- | pretty-print with the default style and 'defaultMode'.+prettyPrim :: Pretty a => a -> P.Doc+prettyPrim = prettyPrimWithMode defaultMode++-- | pretty-print with the default style and a given mode.+prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc+prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs+++------------------------- Pretty-Print a Module --------------------+{-+instance Pretty (Module l) where+ pretty (Module pos m os mbWarn mbExports imp decls) =+ markLine pos $ (myVcat $ map pretty os) $$+ myVcat (+ (if m == ModuleName "" then id+ else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])+ (map pretty imp +++ ppDecls (m /= ModuleName "" ||+ not (null imp) ||+ not (null os))+ decls]-}++-------------------------- Module Header ------------------------------+instance Pretty (ModuleHead l) where+ pretty (ModuleHead _ m mbWarn mbExportList) =+ mySep [+ text "module",+ pretty m,+ maybePP ppWarnTxt mbWarn,+ maybePP pretty mbExportList,+ text "where"]++instance Pretty (ExportSpecList l) where+ pretty (ExportSpecList _ especs) = parenList $ map pretty especs++ppWarnTxt :: WarningText l -> Doc+ppWarnTxt (DeprText _ s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]+ppWarnTxt (WarnText _ s) = mySep [text "{-# WARNING", text (show s), text "#-}"]++instance Pretty (ModuleName l) where+ pretty (ModuleName _ modName) = text modName++instance Pretty (Namespace l) where+ pretty NoNamespace {} = empty+ pretty TypeNamespace {} = text "type"+ pretty PatternNamespace {} = text "pattern"++instance Pretty (ExportSpec l) where+ pretty (EVar _ name) = pretty name+ pretty (EAbs _ ns name) = pretty ns <+> pretty name+ pretty (EThingWith _ wc name nameList) =+ let prettyNames = map pretty nameList+ names = case wc of+ NoWildcard {} -> prettyNames+ EWildcard _ n ->+ let (before,after) = splitAt n prettyNames+ in before ++ [text ".."] ++ after+ in pretty name <> (parenList names)+ pretty (EModuleContents _ m) = text "module" <+> pretty m++instance Pretty (ImportDecl l) where+ pretty (ImportDecl _ m qual src safe mbPkg mbName mbSpecs) =+ mySep [text "import",+ if src then text "{-# SOURCE #-}" else empty,+ if safe then text "safe" else empty,+ if qual then text "qualified" else empty,+ maybePP (\s -> text (show s)) mbPkg,+ pretty m,+ maybePP (\m' -> text "as" <+> pretty m') mbName,+ maybePP pretty mbSpecs]++instance Pretty (ImportSpecList l) where+ pretty (ImportSpecList _ b ispecs) =+ (if b then text "hiding" else empty)+ <+> parenList (map pretty ispecs)++instance Pretty (ImportSpec l) where+ pretty (IVar _ name ) = pretty name+ pretty (IAbs _ ns name) = pretty ns <+> pretty name+ pretty (IThingAll _ name) = pretty name <> text "(..)"+ pretty (IThingWith _ name nameList) =+ pretty name <> (parenList . map pretty $ nameList)++instance Pretty (TypeEqn l) where+ pretty (TypeEqn _ pat eqn) = mySep [pretty pat, equals, pretty eqn]++------------------------- Declarations ------------------------------+class Pretty a => PrettyDeclLike a where+ wantsBlankline :: a -> Bool++instance PrettyDeclLike (Decl l) where+ wantsBlankline (FunBind {}) = False+ wantsBlankline (PatBind {}) = False+ wantsBlankline _ = True++condBlankline :: PrettyDeclLike a => a -> Doc+condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d++ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]+ppDecls True ds = map condBlankline ds+ppDecls False (d:ds) = pretty d : map condBlankline ds+ppDecls _ _ = []+--ppDecls = map condBlankline++instance Pretty (InjectivityInfo l) where+ pretty (InjectivityInfo _ from to) =+ char '|' <+> pretty from <+> text "->" <+> hsep (map pretty to)++instance Pretty (ResultSig l) where+ pretty (KindSig _ kind) = text "::" <+> pretty kind+ pretty (TyVarSig _ tv) = char '=' <+> pretty tv++instance Pretty (Decl l) where+ pretty (TypeDecl _ dHead htype) =+ mySep ( [text "type", pretty dHead]+ ++ [equals, pretty htype])++ pretty (DataDecl _ don context dHead constrList derives) =+ mySep ( [pretty don, maybePP pretty context, pretty dHead])++ <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+ (map pretty constrList))+ $$$ ppIndent letIndent (map pretty derives))++ pretty (GDataDecl _ don context dHead optkind gadtList derives) =+ mySep ( [pretty don, maybePP pretty context, pretty dHead]+ ++ ppOptKind optkind ++ [text "where"])+ $$$ ppBody classIndent (map pretty gadtList)+ $$$ ppIndent letIndent (map pretty derives)++ pretty (TypeFamDecl _ dHead optkind optinj) =+ mySep ([text "type", text "family", pretty dHead+ , maybePP pretty optkind, maybePP pretty optinj])++ pretty (ClosedTypeFamDecl _ dHead optkind optinj eqns) =+ mySep ([text "type", text "family", pretty dHead+ , maybePP pretty optkind ,maybePP pretty optinj+ , text "where"]) $$$ ppBody classIndent (map pretty eqns)++ pretty (DataFamDecl _ context dHead optkind) =+ mySep ( [text "data", text "family", maybePP pretty context, pretty dHead+ , maybePP pretty optkind])++ pretty (TypeInsDecl _ ntype htype) =+ mySep [text "type", text "instance", pretty ntype, equals, pretty htype]++ pretty (DataInsDecl _ don ntype constrList derives) =+ mySep [pretty don, text "instance ", pretty ntype]+ <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+ (map pretty constrList))+ $$$ ppIndent letIndent (map pretty derives))++ pretty (GDataInsDecl _ don ntype optkind gadtList derives) =+ mySep ( [pretty don, text "instance ", pretty ntype]+ ++ ppOptKind optkind ++ [text "where"])+ $$$ ppBody classIndent (map pretty gadtList)+ $$$ ppIndent letIndent (map pretty derives)++ --m{spacing=False}+ -- special case for empty class declaration+ pretty (ClassDecl _ context dHead fundeps Nothing) =+ mySep ( [text "class", maybePP pretty context, pretty dHead+ , ppFunDeps fundeps])+ pretty (ClassDecl _ context dHead fundeps declList) =+ mySep ( [text "class", maybePP pretty context, pretty dHead+ , ppFunDeps fundeps, text "where"])+ $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))++ -- m{spacing=False}+ -- special case for empty instance declaration+ pretty (InstDecl _ moverlap iHead Nothing) =+ mySep ( [text "instance", maybePP pretty moverlap, pretty iHead])+ pretty (InstDecl _ overlap iHead declList) =+ mySep ( [ text "instance", maybePP pretty overlap+ , pretty iHead, text "where"])+ $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))++ pretty (DerivDecl _ mds overlap irule) =+ mySep ( [ text "deriving"+ , maybePP pretty mds+ , text "instance"+ , maybePP pretty overlap+ , pretty irule])+ pretty (DefaultDecl _ htypes) =+ text "default" <+> parenList (map pretty htypes)++ pretty (SpliceDecl _ splice) =+ pretty splice++ pretty (TSpliceDecl _ splice) =+ pretty splice++ pretty (TypeSig _ nameList qualType) =+ mySep ((punctuate comma . map pretty $ nameList)+ ++ [text "::", pretty qualType])++ -- Req can be ommitted if it is empty+ -- We must print prov if req is nonempty+ pretty (PatSynSig _ ns mtvs prov mtvs2 req t) =+ let contexts = [maybePP pretty prov, ppForall mtvs2, maybePP pretty req]+ in+ mySep ( [text "pattern" ]+ ++ punctuate comma (map pretty ns)+ ++ [ text "::", ppForall mtvs] +++ contexts ++ [pretty t] )+++ pretty (FunBind _ matches) = do+ e <- fmap layout getPPEnv+ case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)+ _ -> hsep $ punctuate semi (map pretty matches)++ pretty (PatBind _ pat rhs whereBinds) =+ myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds++ pretty (InfixDecl _ assoc prec opList) =+ mySep ([pretty assoc, maybePP int prec]+ ++ (punctuate comma . map pretty $ opList))++ pretty (PatSyn _ pat rhs dir) =+ let sep = case dir of+ ImplicitBidirectional {} -> "="+ ExplicitBidirectional {} -> "<-"+ Unidirectional {} -> "<-"+ in+ (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$+ (case dir of+ ExplicitBidirectional _ ds ->+ nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))+ _ -> empty)++ pretty (ForImp _ cconv saf str name typ) =+ mySep [text "foreign import", pretty cconv, maybePP pretty saf,+ maybe empty (text . show) str, pretty name, text "::", pretty typ]++ pretty (ForExp _ cconv str name typ) =+ mySep [text "foreign export", pretty cconv,+ text (show str), pretty name, text "::", pretty typ]++ pretty (RulePragmaDecl _ rules) =+ myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]++ pretty (DeprPragmaDecl _ deprs) =+ myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]++ pretty (WarnPragmaDecl _ deprs) =+ myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]++ pretty (InlineSig _ inl activ name) =+ mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE")+ , maybePP pretty activ, pretty name, text "#-}"]++ pretty (InlineConlikeSig _ activ name) =+ mySep [ text "{-# INLINE CONLIKE", maybePP pretty activ+ , pretty name, text "#-}"]++ pretty (SpecSig _ activ name types) =+ mySep $ [text "{-# SPECIALISE", maybePP pretty activ+ , pretty name, text "::"]+ ++ punctuate comma (map pretty types) ++ [text "#-}"]++ pretty (SpecInlineSig _ inl activ name types) =+ mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),+ maybePP pretty activ, pretty name, text "::"]+ ++ (punctuate comma $ map pretty types) ++ [text "#-}"]++ pretty (InstSig _ irule) =+ mySep $ [ text "{-# SPECIALISE", text "instance", pretty irule+ , text "#-}"]++ pretty (AnnPragma _ annp) =+ mySep [text "{-# ANN", pretty annp, text "#-}"]++ pretty (MinimalPragma _ b) =+ let bs = case b of { Just b' -> pretty b'; _ -> empty }+ in myFsep [text "{-# MINIMAL", bs, text "#-}"]++ pretty (RoleAnnotDecl _ qn rs) =+ mySep ( [text "type", text "role", pretty qn]+ ++ map pretty rs )+ pretty (CompletePragma _ cls opt_ts) =+ let cls_p = punctuate comma $ map pretty cls+ ts_p = maybe empty (\tc -> text "::" <+> pretty tc) opt_ts+ in myFsep $ [text "{-# COMPLETE"] ++ cls_p ++ [ts_p, text "#-}"]++instance Pretty (InstRule l) where+ pretty (IRule _ tvs mctxt qn) =+ mySep [ppForall tvs+ , maybePP pretty mctxt, pretty qn]+ pretty (IParen _ ih) = parens (pretty ih)++instance Pretty (InstHead l) where+ pretty (IHCon _ qn) = pretty qn+ pretty (IHInfix _ ta qn) = mySep [pretty ta, pretty qn]+ pretty (IHParen _ ih) = parens (pretty ih)+ pretty (IHApp _ ih t) = myFsep [pretty ih, pretty t]+++instance Pretty (Annotation l) where+ pretty (Ann _ n e) = myFsep [pretty n, pretty e]+ pretty (TypeAnn _ n e) = myFsep [text "type", pretty n, pretty e]+ pretty (ModuleAnn _ e) = myFsep [text "module", pretty e]++instance Pretty (BooleanFormula l) where+ pretty (VarFormula _ n) = pretty n+ pretty (AndFormula _ bs) = myFsep $ punctuate (text " ,") $ map pretty bs+ pretty (OrFormula _ bs) = myFsep $ punctuate (text " |") $ map pretty bs+ pretty (ParenFormula _ b) = parens $ pretty b++instance Pretty (Role l) where+ pretty RoleWildcard{} = char '_'+ pretty Nominal{} = text "nominal"+ pretty Representational{} = text "representational"+ pretty Phantom{} = text "phantom"++instance Pretty (DataOrNew l) where+ pretty DataType{} = text "data"+ pretty NewType{} = text "newtype"++instance Pretty (Assoc l) where+ pretty AssocNone{} = text "infix"+ pretty AssocLeft{} = text "infixl"+ pretty AssocRight{} = text "infixr"++instance Pretty (Match l) where+ pretty (InfixMatch _ l op rs rhs wbinds) =+ let+ lhs = case rs of+ [] -> [] -- Should never reach+ (r:rs') ->+ let hd = [prettyPrec 2 l, ppNameInfix op, prettyPrec 2 r]+ in if null rs'+ then hd+ else parens (myFsep hd) : map (prettyPrec 3) rs'++ in myFsep (lhs ++ [pretty rhs]) $$$ ppWhere wbinds+ pretty (Match _ f ps rhs whereBinds) =+ myFsep (pretty f : map (prettyPrec 3) ps ++ [pretty rhs])+ $$$ ppWhere whereBinds++ppWhere :: Maybe (Binds l) -> Doc+ppWhere Nothing = empty+ppWhere (Just (BDecls _ l)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))+ppWhere (Just (IPBinds _ b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))++instance PrettyDeclLike (ClassDecl l) where+ wantsBlankline (ClsDecl _ d) = wantsBlankline d+ wantsBlankline (ClsDefSig {}) = True+ wantsBlankline _ = False++instance Pretty (ClassDecl l) where+ pretty (ClsDecl _ decl) = pretty decl++ pretty (ClsDataFam _ context declHead optkind) =+ mySep ( [text "data", maybePP pretty context, pretty declHead+ , maybePP pretty optkind])++ pretty (ClsTyFam _ declHead optkind optinj) =+ mySep ( [text "type", pretty declHead+ , maybePP pretty optkind, maybePP pretty optinj])++ pretty (ClsTyDef _ ntype) =+ mySep [text "type", pretty ntype]++ pretty (ClsDefSig _ name typ) =+ mySep [+ text "default",+ pretty name,+ text "::",+ pretty typ]++instance Pretty (DeclHead l) where+ pretty (DHead _ n) = pretty n+ pretty (DHInfix _ tv n) = pretty tv <+> ppNameInfix n+ pretty (DHParen _ d) = parens (pretty d)+ pretty (DHApp _ dh tv) = pretty dh <+> pretty tv++++instance PrettyDeclLike (InstDecl l) where+ wantsBlankline (InsDecl _ d) = wantsBlankline d+ wantsBlankline _ = False++instance Pretty (InstDecl l) where+ pretty (InsDecl _ decl) = pretty decl++ pretty (InsType _ ntype htype) =+ mySep [text "type", pretty ntype, equals, pretty htype]++ pretty (InsData _ don ntype constrList derives) =+ mySep [pretty don, pretty ntype]+ <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))+ (map pretty constrList))+ $$$ ppIndent letIndent (map pretty derives))++ pretty (InsGData _ don ntype optkind gadtList derives) =+ mySep ( [pretty don, pretty ntype]+ ++ ppOptKind optkind ++ [text "where"])+ $$$ ppBody classIndent (map pretty gadtList)+ $$$ ppIndent letIndent (map pretty derives)++-- pretty (InsInline loc inl activ name) =+-- markLine loc $+-- mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]+++------------------------- FFI stuff -------------------------------------+instance Pretty (Safety l) where+ pretty PlayRisky {} = text "unsafe"+ pretty (PlaySafe _ b) = text $ if b then "threadsafe" else "safe"+ pretty PlayInterruptible {} = text "interruptible"++instance Pretty (CallConv l) where+ pretty StdCall {} = text "stdcall"+ pretty CCall {} = text "ccall"+ pretty CPlusPlus {} = text "cplusplus"+ pretty DotNet {} = text "dotnet"+ pretty Jvm {} = text "jvm"+ pretty Js {} = text "js"+ pretty JavaScript {} = text "javascript"+ pretty CApi {} = text "capi"++------------------------- Pragmas ---------------------------------------+ppWarnDepr :: ([Name l], String) -> Doc+ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]++instance Pretty (Rule l) where+ pretty (Rule _ tag activ rvs rhs lhs) =+ mySep [text $ show tag, maybePP pretty activ,+ maybePP ppRuleVars rvs,+ pretty rhs, char '=', pretty lhs]++ppRuleVars :: [RuleVar l] -> Doc+ppRuleVars [] = empty+ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']++instance Pretty (Activation l) where+ pretty (ActiveFrom _ i) = char '[' <> int i <> char ']'+ pretty (ActiveUntil _ i) = text "[~" <> int i <> char ']'++instance Pretty (Overlap l) where+ pretty Overlap {} = text "{-# OVERLAP #-}"+ pretty Overlaps {} = text "{-# OVERLAPS #-}"+ pretty Overlapping {} = text "{-# OVERLAPPING #-}"+ pretty Overlappable {} = text "{-# OVERLAPPABLE #-}"+ pretty NoOverlap {} = text "{-# NO_OVERLAP #-}"+ pretty Incoherent {} = text "{-# INCOHERENT #-}"++instance Pretty (RuleVar l) where+ pretty (RuleVar _ n) = pretty n+ pretty (TypedRuleVar _ n t) = parens $ mySep [pretty n, text "::", pretty t]++-- Spaces are stripped from the pragma text but other whitespace+-- is not.+ppOptionsPragma :: Doc -> String -> Doc+ppOptionsPragma opt s =+ case s of+ ('\n':_) -> opt <> text s <> text "#-}"+ _ -> myFsep [opt, text s <> text "#-}"]++instance Pretty (ModulePragma l) where+ pretty (LanguagePragma _ ns) =+ myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]+ pretty (OptionsPragma _ (Just tool) s) =+ ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s+ pretty (OptionsPragma _ _ s) =+ ppOptionsPragma (text "{-# OPTIONS") s+ pretty (AnnModulePragma _ mann) =+ myFsep [text "{-# ANN", pretty mann, text "#-}"]+++instance Pretty Tool where+ pretty (UnknownTool s) = text s+ pretty t = text $ show t++------------------------- Data & Newtype Bodies -------------------------+instance Pretty (QualConDecl l) where+ pretty (QualConDecl _pos tvs ctxt con) =+ myFsep [ppForall tvs, maybePP pretty ctxt, pretty con]++instance Pretty (GadtDecl l) where+ pretty (GadtDecl _pos name tvs ctxt names ty) =+ case names of+ Nothing ->+ myFsep [pretty name, text "::", pretty ty]+ Just ts' ->+ myFsep [pretty name, text "::" , ppForall tvs, maybePP pretty ctxt,+ braceList . map pretty $ ts', text "->", pretty ty]++instance Pretty (ConDecl l) where+ pretty (RecDecl _ name fieldList) =+ pretty name <> braceList (map pretty fieldList)++{- pretty (ConDecl name@(Symbol _) [l, r]) =+ myFsep [prettyPrec prec_btype l, ppName name,+ prettyPrec prec_btype r] -}+ pretty (ConDecl _ name typeList) =+ mySep $ pretty name : map (prettyPrec prec_atype) typeList+ pretty (InfixConDecl _ l name r) =+ myFsep [prettyPrec prec_btype l, ppNameInfix name,+ prettyPrec prec_btype r]+++instance Pretty (FieldDecl l) where+ pretty (FieldDecl _ names ty) =+ myFsepSimple $ (punctuate comma . map pretty $ names) +++ [text "::", pretty ty]++instance Pretty (BangType l) where+ pretty BangedTy {} = char '!'+ pretty LazyTy {} = char '~'+ pretty NoStrictAnnot {} = empty++instance Pretty (Unpackedness l) where+ pretty Unpack {} = text "{-# UNPACK #-} "+ pretty NoUnpack {} = text "{-# NOUNPACK #-} "+ pretty NoUnpackPragma {} = empty++instance Pretty (Deriving l) where+ pretty (Deriving _ mds d) =+ hsep [ text "deriving"+ , pp_strat_before+ , pp_dct+ , pp_strat_after ]+ where+ pp_dct =+ case d of+ [d'] -> pretty d'+ _ -> parenList (map pretty d)++ -- @via@ is unique in that in comes /after/ the class being derived,+ -- so we must special-case it.+ (pp_strat_before, pp_strat_after) =+ case mds of+ Just (via@DerivVia{}) -> (empty, pretty via)+ _ -> (maybePP pretty mds, empty)++instance Pretty (DerivStrategy l) where+ pretty ds =+ case ds of+ DerivStock _ -> text "stock"+ DerivAnyclass _ -> text "anyclass"+ DerivNewtype _ -> text "newtype"+ DerivVia _ ty -> text "via" <+> pretty ty++------------------------- Types -------------------------+ppBType :: Type l -> Doc+ppBType = prettyPrec prec_btype++ppAType :: Type l -> Doc+ppAType = prettyPrec prec_atype++-- precedences for types+prec_btype, prec_atype :: Int+prec_btype = 1 -- left argument of ->,+ -- or either argument of an infix data constructor+prec_atype = 2 -- argument of type or data constructor, or of a class++instance Pretty (Type l) where+ prettyPrec p (TyForall _ mtvs ctxt htype) = parensIf (p > 0) $+ myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+ prettyPrec _ (TyStar _) = text "*"+ prettyPrec p (TyFun _ a b) = parensIf (p > 0) $+ myFsep [ppBType a, text "->", pretty b]+ prettyPrec _ (TyTuple _ bxd l) =+ let ds = map pretty l+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (TyUnboxedSum _ es) = unboxedSumType (map pretty es)++ prettyPrec _ (TyList _ t) = brackets $ pretty t+ prettyPrec _ (TyParArray _ t) = bracketColonList [pretty t]+ prettyPrec p (TyApp _ a b) =+ {-+ | a == list_tycon = brackets $ pretty b -- special case+ | otherwise = -} parensIf (p > prec_btype) $+ myFsep [pretty a, ppAType b]+ prettyPrec _ (TyVar _ name) = pretty name+ prettyPrec _ (TyCon _ name) = pretty name+ prettyPrec _ (TyParen _ t) = parens (pretty t)+ prettyPrec _ (TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]+ prettyPrec _ (TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])+ prettyPrec _ (TyPromoted _ p) = pretty p+ prettyPrec p (TyEquals _ a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])+ prettyPrec _ (TySplice _ s) = pretty s+ prettyPrec _ (TyBang _ b u t) = pretty u <> pretty b <> prettyPrec prec_atype t+ prettyPrec _ (TyWildCard _ mn) = char '_' <> maybePP pretty mn+ prettyPrec _ (TyQuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")++instance Pretty (MaybePromotedName l) where+ pretty (PromotedName _ q) = char '\'' <> ppQNameInfix q+ pretty (UnpromotedName _ q) = ppQNameInfix q+++instance Pretty (Promoted l) where+ pretty p =+ case p of+ PromotedInteger _ n _ -> integer n+ PromotedString _ s _ -> doubleQuotes $ text s+ PromotedCon _ hasQuote qn ->+ addQuote hasQuote (pretty qn)+ PromotedList _ hasQuote list ->+ addQuote hasQuote $ brackets . addSpace list . prettyList $ list+ PromotedTuple _ list ->+ addQuote True $ parens . addSpace list . prettyList $ list+ PromotedUnit {} -> addQuote True $ text "()"+ where+ addQuote True doc = char '\'' <> doc+ addQuote False doc = doc++ checkQuote (PromotedCon _ q _) = q+ checkQuote (PromotedList _ q _) = q+ checkQuote (PromotedTuple _ _) = True+ checkQuote _ = False++ addSpace (TyPromoted _ l0:_) | checkQuote l0 = (space <>)+ addSpace _ = id++ prettyList = myFsepSimple . punctuate comma . map pretty+++instance Pretty (TyVarBind l) where+ pretty (KindedVar _ var kind) = parens $ myFsep [pretty var, text "::", pretty kind]+ pretty (UnkindedVar _ var) = pretty var++ppForall :: Maybe [TyVarBind l] -> Doc+ppForall Nothing = empty+ppForall (Just []) = empty+ppForall (Just vs) = myFsep (text "forall" : map pretty vs ++ [char '.'])++---------------------------- Kinds ----------------------------++ppOptKind :: Maybe (Kind l) -> [Doc]+ppOptKind Nothing = []+ppOptKind (Just k) = [text "::", pretty k]++------------------- Functional Dependencies -------------------+instance Pretty (FunDep l) where+ pretty (FunDep _ from to) =+ myFsep $ map pretty from ++ [text "->"] ++ map pretty to+++ppFunDeps :: [FunDep l] -> Doc+ppFunDeps [] = empty+ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds++------------------------- Expressions -------------------------+instance Pretty (Rhs l) where+ pretty (UnGuardedRhs _ e) = equals <+> pretty e+ pretty (GuardedRhss _ guardList) = myVcat . map pretty $ guardList++instance Pretty (GuardedRhs l) where+ pretty (GuardedRhs _pos guards ppBody') =+ myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']++newtype GuardedAlts l = GuardedAlts (Rhs l)+newtype GuardedAlt l = GuardedAlt (GuardedRhs l)++instance Pretty (GuardedAlts l) where+ pretty (GuardedAlts (UnGuardedRhs _ e)) = text "->" <+> pretty e+ pretty (GuardedAlts (GuardedRhss _ guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList++instance Pretty (GuardedAlt l) where+ pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =+ myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']++instance Pretty (Literal l) where+ pretty (Int _ i _) = integer i+ pretty (Char _ c _) = text (show c)+ pretty (String _ s _) = text (show s)+ pretty (Frac _ r _) = double (fromRational r)+ -- GHC unboxed literals:+ pretty (PrimChar _ c _) = text (show c) <> char '#'+ pretty (PrimString _ s _) = text (show s) <> char '#'+ pretty (PrimInt _ i _) = integer i <> char '#'+ pretty (PrimWord _ w _) = integer w <> text "##"+ pretty (PrimFloat _ r _) = float (fromRational r) <> char '#'+ pretty (PrimDouble _ r _) = double (fromRational r) <> text "##"++instance Pretty (Exp l) where+ prettyPrec _ (Lit _ l) = pretty l+ -- lambda stuff+ -- WARNING: This stuff is fragile. See #152 for one example of how+ -- things can break.+ prettyPrec p (InfixApp _ a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]+ prettyPrec p (NegApp _ e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e+ prettyPrec p (App _ a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]+ prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $+ char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']+ -- keywords+ -- two cases for lets+ prettyPrec p (Let _ (BDecls _ declList) letBody) =+ parensIf (p > 1) $ ppLetExp declList letBody+ prettyPrec p (Let _ (IPBinds _ bindList) letBody) =+ parensIf (p > 1) $ ppLetExp bindList letBody++ prettyPrec p (If _ cond thenexp elsexp) = parensIf (p > 1) $+ myFsep [text "if", pretty cond,+ text "then", pretty thenexp,+ text "else", pretty elsexp]+ prettyPrec p (MultiIf _ alts) = parensIf (p > 1) $+ text "if"+ $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)+ prettyPrec p (Case _ cond altList) = parensIf (p > 1) $+ myFsep ([text "case", pretty cond, text "of"] +++ if null altList then [text "{", text "}"] else [])+ $$$ ppBody caseIndent (map pretty altList)+ prettyPrec p (Do _ stmtList) = parensIf (p > 1) $+ text "do" $$$ ppBody doIndent (map pretty stmtList)+ prettyPrec p (MDo _ stmtList) = parensIf (p > 1) $+ text "mdo" $$$ ppBody doIndent (map pretty stmtList)+ -- Constructors & Vars+ prettyPrec _ (Var _ name) = pretty name+ prettyPrec _ (OverloadedLabel _ name) = text ('#':name)+ prettyPrec _ (IPVar _ ipname) = pretty ipname+ prettyPrec _ (Con _ name) = pretty name+ prettyPrec _ (Tuple _ bxd expList) =+ let ds = map pretty expList+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (UnboxedSum _ before after exp) =+ printUnboxedSum before after exp+ prettyPrec _ (TupleSection _ bxd mExpList) =+ let ds = map (maybePP pretty) mExpList+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ -- weird stuff+ prettyPrec _ (Paren _ e) = parens . pretty $ e+ prettyPrec _ (LeftSection _ e op) = parens (pretty e <+> pretty op)+ prettyPrec _ (RightSection _ op e) = parens (pretty op <+> pretty e)+ prettyPrec _ (RecConstr _ c fieldList) =+ pretty c <> (braceList . map pretty $ fieldList)+ prettyPrec _ (RecUpdate _ e fieldList) =+ pretty e <> (braceList . map pretty $ fieldList)+ -- Lists and parallel arrays+ prettyPrec _ (List _ list) =+ bracketList . punctuate comma . map pretty $ list+ prettyPrec _ (ParArray _ arr) =+ bracketColonList . map pretty $ arr+ prettyPrec _ (EnumFrom _ e) =+ bracketList [pretty e, text ".."]+ prettyPrec _ (EnumFromTo _ from to) =+ bracketList [pretty from, text "..", pretty to]+ prettyPrec _ (EnumFromThen _ from thenE) =+ bracketList [pretty from <> comma, pretty thenE, text ".."]+ prettyPrec _ (EnumFromThenTo _ from thenE to) =+ bracketList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ prettyPrec _ (ParArrayFromTo _ from to) =+ bracketColonList [pretty from, text "..", pretty to]+ prettyPrec _ (ParArrayFromThenTo _ from thenE to) =+ bracketColonList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ prettyPrec _ (ListComp _ e qualList) =+ bracketList ([pretty e, char '|']+ ++ (punctuate comma . map pretty $ qualList))+ prettyPrec _ (ParComp _ e qualLists) =+ bracketList (punctuate (char '|') $+ pretty e : map (hsep . punctuate comma . map pretty) qualLists)+ prettyPrec _ (ParArrayComp _ e qualArrs) =+ bracketColonList (punctuate (char '|') $+ pretty e : map (hsep . punctuate comma . map pretty) qualArrs)+ prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $+ myFsep [pretty e, text "::", pretty ty]+ -- Template Haskell+ prettyPrec _ (BracketExp _ b) = pretty b+ prettyPrec _ (SpliceExp _ s) = pretty s+ prettyPrec _ (TypQuote _ t) = text "\'\'" <> pretty t+ prettyPrec _ (VarQuote _ x) = text "\'" <> pretty x+ prettyPrec _ (QuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")+ -- Hsx+ prettyPrec _ (XTag _ n attrs mattr cs) =+ let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]+ prettyPrec _ (XETag _ n attrs mattr) =+ let ax = maybe [] (return . pretty) mattr+ in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]+ prettyPrec _ (XPcdata _ s) = text s+ prettyPrec _ (XExpTag _ e) =+ myFsep [text "<%", pretty e, text "%>"]+ prettyPrec _ (XChildTag _ cs) =+ myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]++ -- Pragmas+ prettyPrec _ (CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]+ prettyPrec _ (SCCPragma _ s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]+ prettyPrec _ (GenPragma _ s (a,b) (c,d) e) =+ myFsep [text "{-# GENERATED", text $ show s,+ int a, char ':', int b, char '-',+ int c, char ':', int d, text "#-}", pretty e]+ -- Arrows+ prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]+ prettyPrec p (LeftArrApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<", pretty r]+ prettyPrec p (RightArrApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">-", pretty r]+ prettyPrec p (LeftArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<<", pretty r]+ prettyPrec p (RightArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">>-", pretty r]+ prettyPrec _ (ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"]++ -- LamdaCase+ prettyPrec p (LCase _ altList) = parensIf (p > 1) $+ myFsep (text "\\case":+ if null altList then [text "{", text "}"] else [])+ $$$ ppBody caseIndent (map pretty altList)+ prettyPrec _ (TypeApp _ ty) = char '@' <> pretty ty++printUnboxedSum :: Pretty e => Int -> Int -> e -> Doc+printUnboxedSum before after exp =+ hashParens . myFsep $ (replicate before (text "|")+ ++ [pretty exp]+ ++ (replicate after (text "|")))+++instance Pretty (XAttr l) where+ pretty (XAttr _ n v) =+ myFsep [pretty n, char '=', pretty v]++instance Pretty (XName l) where+ pretty (XName _ n) = text n+ pretty (XDomName _ d n) = text d <> char ':' <> text n++ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc+ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),+ text "in", pretty b]++--------------------- Template Haskell -------------------------++instance Pretty (Bracket l) where+ pretty (ExpBracket _ e) = ppBracket "[|" e+ pretty (TExpBracket _ e) = myFsep [text "[||", pretty e, text "||]"]+ pretty (PatBracket _ p) = ppBracket "[p|" p+ pretty (TypeBracket _ t) = ppBracket "[t|" t+ pretty (DeclBracket _ d) =+ myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]++ppBracket :: Pretty a => String -> a -> Doc+ppBracket o x = myFsep [text o, pretty x, text "|]"]++instance Pretty (Splice l) where+ pretty (IdSplice _ s) = char '$' <> text s+ pretty (TIdSplice _ s) = char '$' <> char '$' <> text s+ pretty (TParenSplice _ e) =+ myFsep [text "$$(", pretty e, char ')']+ pretty (ParenSplice _ e) =+ myFsep [text "$(", pretty e, char ')']++------------------------- Patterns -----------------------------++instance Pretty (Pat l) where+ prettyPrec _ (PVar _ name) = pretty name+ prettyPrec _ (PLit _ (Signless {}) lit) = pretty lit+ prettyPrec p (PLit _ (Negative{}) lit) = parensIf (p > 1) $ char '-' <> pretty lit+ prettyPrec p (PInfixApp l a op b) = parensIf (p > 0) $+ myFsep [prettyPrec 1 a, pretty (QConOp l op), prettyPrec 1 b]+ prettyPrec p (PApp _ n ps) = parensIf (p > 2 && not (null ps)) $+ myFsep (pretty n : map (prettyPrec 3) ps)+ prettyPrec _ (PTuple _ bxd ps) =+ let ds = map pretty ps+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (PUnboxedSum _ before after exp) =+ printUnboxedSum before after exp+ prettyPrec _ (PList _ ps) =+ bracketList . punctuate comma . map pretty $ ps+ prettyPrec _ (PParen _ pat) = parens . pretty $ pat+ prettyPrec _ (PRec _ c fields) =+ pretty c <> (braceList . map pretty $ fields)+ -- special case that would otherwise be buggy+ prettyPrec _ (PAsPat _ name (PIrrPat _ pat)) =+ myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]+ prettyPrec _ (PAsPat _ name pat) =+ hcat [pretty name, char '@', prettyPrec 3 pat]+ prettyPrec _ PWildCard {} = char '_'+ prettyPrec _ (PIrrPat _ pat) = char '~' <> prettyPrec 3 pat+ prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $+ myFsep [pretty pat, text "::", pretty ty]+ prettyPrec p (PViewPat _ e pat) = parensIf (p > 0) $+ myFsep [pretty e, text "->", pretty pat]+ prettyPrec p (PNPlusK _ n k) = parensIf (p > 0) $+ myFsep [pretty n, text "+", text $ show k]+ -- HaRP+ prettyPrec _ (PRPat _ rs) =+ bracketList . punctuate comma . map pretty $ rs+ -- Hsx+ prettyPrec _ (PXTag _ n attrs mattr cp) =+ let ap = maybe [] (return . pretty) mattr+ in hcat $ -- TODO: should not introduce blanks+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):+ map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]+ prettyPrec _ (PXETag _ n attrs mattr) =+ let ap = maybe [] (return . pretty) mattr+ in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]+ prettyPrec _ (PXPcdata _ s) = text s+ prettyPrec _ (PXPatTag _ p) =+ myFsep [text "<%", pretty p, text "%>"]+ prettyPrec _ (PXRPats _ ps) =+ myFsep $ text "<[" : map pretty ps ++ [text "%>"]+ -- BangPatterns+ prettyPrec _ (PBangPat _ pat) = text "!" <> prettyPrec 3 pat+ prettyPrec _ (PSplice _ s) = pretty s+ prettyPrec _ (PQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")++instance Pretty (PXAttr l) where+ pretty (PXAttr _ n p) =+ myFsep [pretty n, char '=', pretty p]++instance Pretty (PatField l) where+ pretty (PFieldPat _ name pat) =+ myFsep [pretty name, equals, pretty pat]+ pretty (PFieldPun _ name) = pretty name+ pretty (PFieldWildcard{}) = text ".."++--------------------- Regular Patterns -------------------------++instance Pretty (RPat l) where+ pretty (RPOp _ r op) = pretty r <> pretty op+ pretty (RPEither _ r1 r2) = parens . myFsep $+ [pretty r1, char '|', pretty r2]+ pretty (RPSeq _ rs) =+ myFsep $ text "(|" : (punctuate comma . map pretty $ rs)+ ++ [text "|)"]+ pretty (RPGuard _ r gs) =+ myFsep $ text "(|" : pretty r : char '|' :+ (punctuate comma . map pretty $ gs) ++ [text "|)"]+ -- special case that would otherwise be buggy+ pretty (RPCAs _ n (RPPat _ (PIrrPat _ p))) =+ myFsep [pretty n <> text "@:", char '~' <> pretty p]+ pretty (RPCAs _ n r) = hcat [pretty n, text "@:", pretty r]+ -- special case that would otherwise be buggy+ pretty (RPAs _ n (RPPat _ (PIrrPat _ p))) =+ myFsep [pretty n <> text "@:", char '~' <> pretty p]+ pretty (RPAs _ n r) = hcat [pretty n, char '@', pretty r]+ pretty (RPPat _ p) = pretty p+ pretty (RPParen _ rp) = parens . pretty $ rp++instance Pretty (RPatOp l) where+ pretty RPStar{} = char '*'+ pretty RPStarG{} = text "*!"+ pretty RPPlus{} = char '+'+ pretty RPPlusG{} = text "+!"+ pretty RPOpt{} = char '?'+ pretty RPOptG{} = text "?!"++------------------------- Case bodies -------------------------+instance Pretty (Alt l) where+ pretty (Alt _pos e gAlts binds) =+ pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds++------------------------- Statements in monads, guards & list comprehensions -----+instance Pretty (Stmt l) where+ pretty (Generator _loc e from) =+ pretty e <+> text "<-" <+> pretty from+ pretty (Qualifier _ e) = pretty e+ -- two cases for lets+ pretty (LetStmt _ (BDecls _ declList)) =+ ppLetStmt declList+ pretty (LetStmt _ (IPBinds _ bindList)) =+ ppLetStmt bindList+ pretty (RecStmt _ stmtList) =+ text "rec" $$$ ppBody letIndent (map pretty stmtList)++ppLetStmt :: Pretty a => [a] -> Doc+ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)++instance Pretty (QualStmt l) where+ pretty (QualStmt _ s) = pretty s+ pretty (ThenTrans _ f) = myFsep [text "then", pretty f]+ pretty (ThenBy _ f e) = myFsep [text "then", pretty f, text "by", pretty e]+ pretty (GroupBy _ e) = myFsep [text "then", text "group", text "by", pretty e]+ pretty (GroupUsing _ f) = myFsep [text "then", text "group", text "using", pretty f]+ pretty (GroupByUsing _ e f) = myFsep [text "then", text "group", text "by",+ pretty e, text "using", pretty f]++++------------------------- Record updates+instance Pretty (FieldUpdate l) where+ pretty (FieldUpdate _ name e) =+ myFsep [pretty name, equals, pretty e]+ pretty (FieldPun _ name) = pretty name+ pretty (FieldWildcard {}) = text ".."++------------------------- Names -------------------------+instance Pretty (QOp l) where+ pretty (QVarOp _ n) = ppQNameInfix n+ pretty (QConOp _ n) = ppQNameInfix n++ppQNameInfix :: QName l -> Doc+ppQNameInfix name+ | isSymbolQName name = ppQName name+ | otherwise = char '`' <> ppQName name <> char '`'++instance Pretty (QName l) where+ pretty name = case name of+ UnQual _ (Symbol _ ('#':_)) -> char '(' <+> ppQName name <+> char ')'+ _ -> parensIf (isSymbolQName name) (ppQName name)++ppQName :: QName l -> Doc+ppQName (UnQual _ name) = ppName name+ppQName (Qual _ m name) = pretty m <> char '.' <> ppName name+ppQName (Special _ sym) = pretty sym++instance Pretty (Op l) where+ pretty (VarOp _ n) = ppNameInfix n+ pretty (ConOp _ n) = ppNameInfix n++ppNameInfix :: Name l -> Doc+ppNameInfix name+ | isSymbolName name = ppName name+ | otherwise = char '`' <> ppName name <> char '`'++instance Pretty (Name l) where+ pretty name = case name of+ Symbol _ ('#':_) -> char '(' <+> ppName name <+> char ')'+ _ -> parensIf (isSymbolName name) (ppName name)++ppName :: Name l -> Doc+ppName (Ident _ s) = text s+ppName (Symbol _ s) = text s++instance Pretty (IPName l) where+ pretty (IPDup _ s) = char '?' <> text s+ pretty (IPLin _ s) = char '%' <> text s++instance PrettyDeclLike (IPBind l) where+ wantsBlankline _ = False++instance Pretty (IPBind l) where+ pretty (IPBind _loc ipname exp) =+ myFsep [pretty ipname, equals, pretty exp]++instance Pretty (CName l) where+ pretty (VarName _ n) = pretty n+ pretty (ConName _ n) = pretty n++instance Pretty (SpecialCon l) where+ pretty (UnitCon {}) = text "()"+ pretty (ListCon {}) = text "[]"+ pretty (FunCon {}) = text "->"+ pretty (TupleCon _ b n) = listFun $ foldr (<>) empty (replicate (n-1) comma)+ where listFun = if b == Unboxed then hashParens else parens+ pretty (Cons {}) = text ":"+ pretty (UnboxedSingleCon {}) = text "(# #)"+ pretty (ExprHole {}) = text "_"++isSymbolName :: Name l -> Bool+isSymbolName (Symbol {}) = True+isSymbolName _ = False++isSymbolQName :: QName l -> Bool+isSymbolQName (UnQual _ n) = isSymbolName n+isSymbolQName (Qual _ _ n) = isSymbolName n+isSymbolQName (Special _ (Cons {})) = True+isSymbolQName (Special _ (FunCon {})) = True+isSymbolQName _ = False++--getSpecialName :: QName l -> Maybe (SpecialCon l)+--getSpecialName (Special _ n) = Just n+--getSpecialName _ = Nothing++-- Contexts are "sets" of assertions. Several members really means it's a+-- CxTuple, but we can't represent that in our list of assertions.+-- Therefore: print single member contexts without parenthesis, and treat+-- larger contexts as tuples.+instance (Pretty (Context l)) where+ pretty (CxEmpty _) = text "()" <+> text "=>"+ pretty (CxSingle _ ctxt) = pretty ctxt <+> text "=>"+ pretty (CxTuple _ context) = mySep [parenList (map pretty context), text "=>"]++instance Pretty (Asst l) where+ pretty (TypeA _ t) = pretty t+ pretty (IParam _ i t) = myFsep [pretty i, text "::", pretty t]+ pretty (ParenA _ a) = parens (pretty a)++-- Pretty print a source location, useful for printing out error messages+instance Pretty SrcLoc where+ pretty srcLoc =+ return $ P.hcat [ colonFollow (P.text $ srcFilename srcLoc)+ , colonFollow (P.int $ srcLine srcLoc)+ , P.int $ srcColumn srcLoc+ ]++colonFollow :: P.Doc -> P.Doc+colonFollow p = P.hcat [ p, P.colon ]+++instance Pretty SrcSpan where+ pretty srcSpan =+ return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)+ , P.hcat [ P.text "("+ , P.int $ srcSpanStartLine srcSpan+ , P.colon+ , P.int $ srcSpanStartColumn srcSpan+ , P.text ")"+ ]+ , P.text "-"+ , P.hcat [ P.text "("+ , P.int $ srcSpanEndLine srcSpan+ , P.colon+ , P.int $ srcSpanEndColumn srcSpan+ , P.text ")"+ ]+ ]++---------------------------------------------------------------------+-- Annotated version+++------------------------- Pretty-Print a Module --------------------+instance Pretty (Module pos) where+ pretty (Module _ mbHead os imp decls) =+ myVcat $ map pretty os +++ (case mbHead of+ Nothing -> id+ Just h -> \x -> [topLevel (pretty h) x])+ (map pretty imp +++ ppDecls (isJust mbHead ||+ not (null imp) ||+ not (null os))+ decls)+ pretty (XmlPage _ _mn os n attrs mattr cs) =+ myVcat $ map pretty os +++ [let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]+ pretty (XmlHybrid _ mbHead os imp decls n attrs mattr cs) =+ myVcat $ map pretty os ++ [text "<%"] +++ (case mbHead of+ Nothing -> id+ Just h -> \x -> [topLevel (pretty h) x])+ (map pretty imp +++ ppDecls (isJust mbHead || not (null imp) || not (null os)) decls +++ [let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])++++------------------------- pp utils -------------------------+maybePP :: (a -> Doc) -> Maybe a -> Doc+maybePP _ Nothing = empty+maybePP pp (Just a) = pp a++parenList :: [Doc] -> Doc+parenList = parens . myFsepSimple . punctuate comma++hashParenList :: [Doc] -> Doc+hashParenList = hashParens . myFsepSimple . punctuate comma++unboxedSumType :: [Doc] -> Doc+unboxedSumType = hashParens . myFsepSimple . punctuate (text " |")++hashParens :: Doc -> Doc+hashParens = parens . hashes+ where+ hashes doc = char '#' <+> doc <+> char '#'++braceList :: [Doc] -> Doc+braceList = braces . myFsepSimple . punctuate comma++bracketList :: [Doc] -> Doc+bracketList = brackets . myFsepSimple++bracketColonList :: [Doc] -> Doc+bracketColonList = bracketColons . myFsepSimple+ where bracketColons = brackets . colons+ colons doc = char ':' <> doc <> char ':'++-- Wrap in braces and semicolons, with an extra space at the start in+-- case the first doc begins with "-", which would be scanned as {-+flatBlock :: [Doc] -> Doc+flatBlock = braces . (space <>) . hsep . punctuate semi++-- Same, but put each thing on a separate line+prettyBlock :: [Doc] -> Doc+prettyBlock = braces . (space <>) . vcat . punctuate semi++-- Monadic PP Combinators -- these examine the env++blankline :: Doc -> Doc+blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout+ then text "" $+$ dl else dl}+topLevel :: Doc -> [Doc] -> Doc+topLevel header dl = do+ e <- fmap layout getPPEnv+ case e of+ PPOffsideRule -> header $$ vcat dl+ PPSemiColon -> header $$ prettyBlock dl+ PPInLine -> header $$ prettyBlock dl+ PPNoLayout -> header <+> flatBlock dl++ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc+ppBody f dl = do+ e <- fmap layout getPPEnv+ case e of PPOffsideRule -> indent+ PPSemiColon -> indentExplicit+ _ -> flatBlock dl+ where+ indent = do{i <-fmap f getPPEnv;nest i . vcat $ dl}+ indentExplicit = do {i <- fmap f getPPEnv;+ nest i . prettyBlock $ dl}++-- | Indent without braces. Useful for deriving clauses etc.+ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc+ppIndent f dl = do+ i <- fmap f getPPEnv+ nest i . vcat $ dl++($$$) :: Doc -> Doc -> Doc+a $$$ b = layoutChoice (a $$) (a <+>) b++mySep :: [Doc] -> Doc+mySep = layoutChoice mySep' hsep+ where+ -- ensure paragraph fills with indentation.+ mySep' [x] = x+ mySep' (x:xs) = x <+> fsep xs+ mySep' [] = error "Internal error: mySep"++myVcat :: [Doc] -> Doc+myVcat = layoutChoice vcat hsep++myFsepSimple :: [Doc] -> Doc+myFsepSimple = layoutChoice fsep hsep++-- same, except that continuation lines are indented,+-- which is necessary to avoid triggering the offside rule.+myFsep :: [Doc] -> Doc+myFsep = layoutChoice fsep' hsep+ where fsep' [] = empty+ fsep' (d:ds) = do+ e <- getPPEnv+ let n = onsideIndent e+ nest n (fsep (nest (-n) d:ds))++layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc+layoutChoice a b dl = do e <- getPPEnv+ if layout e == PPOffsideRule ||+ layout e == PPSemiColon+ then a dl else b dl++--------------------------------------------------------------------------------+-- Pretty-printing of internal constructs, for error messages while parsing++instance SrcInfo loc => Pretty (P.PExp loc) where+ pretty (P.Lit _ l) = pretty l+ pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]+ pretty (P.NegApp _ e) = myFsep [char '-', pretty e]+ pretty (P.App _ a b) = myFsep [pretty a, pretty b]+ pretty (P.Lambda _loc expList ppBody') = myFsep $+ char '\\' : map pretty expList ++ [text "->", pretty ppBody']+ pretty (P.Let _ (BDecls _ declList) letBody) =+ ppLetExp declList letBody+ pretty (P.Let _ (IPBinds _ bindList) letBody) =+ ppLetExp bindList letBody+ pretty (P.If _ cond thenexp elsexp) =+ myFsep [text "if", pretty cond,+ text "then", pretty thenexp,+ text "else", pretty elsexp]+ pretty (P.MultiIf _ alts) =+ text "if"+ $$$ ppBody caseIndent (map pretty alts)+ pretty (P.Case _ cond altList) =+ myFsep [text "case", pretty cond, text "of"]+ $$$ ppBody caseIndent (map pretty altList)+ pretty (P.Do _ stmtList) =+ text "do" $$$ ppBody doIndent (map pretty stmtList)+ pretty (P.MDo _ stmtList) =+ text "mdo" $$$ ppBody doIndent (map pretty stmtList)+ pretty (P.Var _ name) = pretty name+ pretty (P.OverloadedLabel _ name) = text name+ pretty (P.IPVar _ ipname) = pretty ipname+ pretty (P.Con _ name) = pretty name+ pretty (P.TupleSection _ bxd mExpList) =+ let ds = map (maybePP pretty) mExpList+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ pretty (P.UnboxedSum _ before after exp) =+ printUnboxedSum before after exp+ pretty (P.Paren _ e) = parens . pretty $ e+ pretty (P.RecConstr _ c fieldList) =+ pretty c <> (braceList . map pretty $ fieldList)+ pretty (P.RecUpdate _ e fieldList) =+ pretty e <> (braceList . map pretty $ fieldList)+ pretty (P.List _ list) =+ bracketList . punctuate comma . map pretty $ list+ pretty (P.ParArray _ arr) =+ bracketColonList . punctuate comma . map pretty $ arr+ pretty (P.EnumFrom _ e) =+ bracketList [pretty e, text ".."]+ pretty (P.EnumFromTo _ from to) =+ bracketList [pretty from, text "..", pretty to]+ pretty (P.EnumFromThen _ from thenE) =+ bracketList [pretty from <> comma, pretty thenE, text ".."]+ pretty (P.EnumFromThenTo _ from thenE to) =+ bracketList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ pretty (P.ParArrayFromTo _ from to) =+ bracketColonList [pretty from, text "..", pretty to]+ pretty (P.ParArrayFromThenTo _ from thenE to) =+ bracketColonList [pretty from <> comma, pretty thenE,+ text "..", pretty to]+ pretty (P.ParComp _ e qualLists) =+ bracketList (intersperse (char '|') $+ pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))+ pretty (P.ParArrayComp _ e qualArrs) =+ bracketColonList (intersperse (char '|') $+ pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))+ pretty (P.ExpTypeSig _pos e ty) =+ myFsep [pretty e, text "::", pretty ty]+ pretty (P.BracketExp _ b) = pretty b+ pretty (P.SpliceExp _ s) = pretty s+ pretty (P.TypQuote _ t) = text "\'\'" <> pretty t+ pretty (P.VarQuote _ x) = text "\'" <> pretty x+ pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")+ pretty (P.XTag _ n attrs mattr cs) =+ let ax = maybe [] (return . pretty) mattr+ in hcat $+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):+ map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]+ pretty (P.XETag _ n attrs mattr) =+ let ax = maybe [] (return . pretty) mattr+ in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]+ pretty (P.XPcdata _ s) = text s+ pretty (P.XExpTag _ e) =+ myFsep [text "<%", pretty e, text "%>"]+ pretty (P.XChildTag _ es) =+ myFsep $ text "<%>" : map pretty es ++ [text "</%>"]+ pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]+ pretty (P.SCCPragma _ s e) = myFsep $ map text ["{-# SCC", show s, "#-}"] ++ [pretty e]+ pretty (P.GenPragma _ s (a,b) (c,d) e) =+ myFsep [text "{-# GENERATED", text $ show s,+ int a, char ':', int b, char '-',+ int c, char ':', int d, text "#-}", pretty e]+ pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]+ pretty (P.LeftArrApp _ l r) = myFsep [pretty l, text "-<", pretty r]+ pretty (P.RightArrApp _ l r) = myFsep [pretty l, text ">-", pretty r]+ pretty (P.LeftArrHighApp _ l r) = myFsep [pretty l, text "-<<", pretty r]+ pretty (P.RightArrHighApp _ l r) = myFsep [pretty l, text ">>-", pretty r]+ pretty (P.ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"]+ pretty (P.AsPat _ name (P.IrrPat _ pat)) =+ myFsep [pretty name <> char '@', char '~' <> pretty pat]+ pretty (P.AsPat _ name pat) =+ hcat [pretty name, char '@', pretty pat]+ pretty (P.WildCard _) = char '_'+ pretty (P.IrrPat _ pat) = char '~' <> pretty pat+ pretty (P.PostOp _ e op) = pretty e <+> pretty op+ pretty (P.PreOp _ op e) = pretty op <+> pretty e+ pretty (P.ViewPat _ e p) =+ myFsep [pretty e, text "->", pretty p]+ pretty (P.SeqRP _ rs) =+ myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]+ pretty (P.GuardRP _ r gs) =+ myFsep $ text "(|" : pretty r : char '|' :+ (punctuate comma . map pretty $ gs) ++ [text "|)"]+ pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]+ pretty (P.CAsRP _ n (P.IrrPat _ e)) =+ myFsep [pretty n <> text "@:", char '~' <> pretty e]+ pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]+ pretty (P.XRPats _ ps) =+ myFsep $ text "<[" : map pretty ps ++ [text "%>"]+ pretty (P.BangPat _ e) = text "!" <> pretty e+ pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)+ pretty (P.TypeApp _ ty) = char '@' <> pretty ty++instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where+ pretty (P.FieldUpdate _ name e) =+ myFsep [pretty name, equals, pretty e]+ pretty (P.FieldPun _ name) = pretty name+ pretty (P.FieldWildcard _) = text ".."++instance SrcInfo loc => Pretty (P.ParseXAttr loc) where+ pretty (P.XAttr _ n v) =+ myFsep [pretty n, char '=', pretty v]++instance SrcInfo loc => Pretty (P.PContext loc) where+ pretty (P.CxEmpty _) = mySep [text "()", text "=>"]+ pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]+ pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]++instance SrcInfo loc => Pretty (P.PAsst loc) where+ pretty (P.TypeA _ t) = pretty t+ pretty (P.IParam _ i t) = myFsep [pretty i, text "::", pretty t]+ pretty (P.ParenA _ a) = parens (pretty a)++instance SrcInfo loc => Pretty (P.PType loc) where+ prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $+ myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+ prettyPrec _ (P.TyStar _) = text "*"+ prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $+ myFsep [prettyPrec prec_btype a, text "->", pretty b]+ prettyPrec _ (P.TyTuple _ bxd l) =+ let ds = map pretty l+ in case bxd of+ Boxed -> parenList ds+ Unboxed -> hashParenList ds+ prettyPrec _ (P.TyUnboxedSum _ es) =+ unboxedSumType (map pretty es)+ prettyPrec _ (P.TyList _ t) = brackets $ pretty t+ prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]+ prettyPrec p (P.TyApp _ a b) =+ {-+ | a == list_tycon = brackets $ pretty b -- special case+ | otherwise = -} parensIf (p > prec_btype) $+ myFsep [pretty a, prettyPrec prec_atype b]+ prettyPrec _ (P.TyVar _ name) = pretty name+ prettyPrec _ (P.TyCon _ name) = pretty name+ prettyPrec _ (P.TyParen _ t) = parens (pretty t)+ prettyPrec _ (P.TyPred _ asst) = pretty asst+ prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b]+ prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])+ prettyPrec _ (P.TyPromoted _ p) = pretty p+ prettyPrec _ (P.TyEquals _ a b) = myFsep [pretty a, text "~", pretty b]+ prettyPrec _ (P.TySplice _ s) = pretty s+ prettyPrec _ (P.TyBang _ b u t) = pretty u <+> pretty b <> prettyPrec prec_atype t+ prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn+ prettyPrec _ (P.TyQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
src/Language/Haskell/Exts/SrcLoc.hs view
@@ -18,6 +18,10 @@ import Data.Data import GHC.Generics (Generic) +showInt :: Int -> String+showInt i | i < 0 = "(" ++ show i ++ ")"+showInt i = show i+ -- | A single position in the source. data SrcLoc = SrcLoc { srcFilename :: String@@ -29,7 +33,7 @@ instance Show SrcLoc where showsPrec n (SrcLoc fn sl sc) = showParen (n >= 11) $- showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map show [sl,sc])+ showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map showInt [sl,sc]) noLoc :: SrcLoc noLoc = SrcLoc "" (-1) (-1)@@ -42,12 +46,12 @@ , srcSpanEndLine :: Int , srcSpanEndColumn :: Int }- deriving (Eq,Ord,Typeable,Data)+ deriving (Eq,Ord,Typeable,Data,Generic) instance Show SrcSpan where showsPrec n (SrcSpan fn sl sc el ec) = showParen (n >= 11) $- showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map show [sl,sc,el,ec])+ showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map showInt [sl,sc,el,ec]) -- | Returns 'srcSpanStartLine' and 'srcSpanStartColumn' in a pair.@@ -87,7 +91,7 @@ { loc :: SrcSpan , unLoc :: a }- deriving (Eq,Ord,Show)+ deriving (Eq,Ord,Show,Generic) -- | A portion of the source, extended with information on the position of entities within the span.@@ -96,7 +100,7 @@ -- , explLayout :: Bool , srcInfoPoints :: [SrcSpan] -- Marks the location of specific entities inside the span }- deriving (Eq,Ord,Typeable,Data)+ deriving (Eq,Ord,Typeable,Data,Generic) -- Identical output to the derived show instance for GHC 7.10 and earlier. instance Show SrcSpanInfo where@@ -106,6 +110,11 @@ -- | Generate a 'SrcSpanInfo' with no positional information for entities. noInfoSpan :: SrcSpan -> SrcSpanInfo noInfoSpan ss = SrcSpanInfo ss []++-- | A bogus `SrcSpanInfo`, the location is @noLoc@.+-- `noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)`+noSrcSpan :: SrcSpanInfo+noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc) -- | Generate a 'SrcSpanInfo' with the supplied positional information for entities. infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
src/Language/Haskell/Exts/Syntax.hs view
@@ -1,866 +1,1952 @@-{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Syntax--- Copyright : (c) Niklas Broberg 2004-2009,--- (c) The GHC Team, 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable------ A suite of datatypes describing the abstract syntax of Haskell 98--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:------ * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)------ * parameters of type class assertions are unrestricted (FlexibleContexts)------ * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)------ * pattern guards (PatternGuards)------ * implicit parameters (ImplicitParameters)------ * generalised algebraic data types (GADTs)------ * template haskell (TemplateHaskell)------ * empty data type declarations (EmptyDataDecls)------ * unboxed tuples (UnboxedTuples)------ * regular patterns (RegularPatterns)------ * HSP-style XML expressions and patterns (XmlSyntax)-----------------------------------------------------------------------------------module Language.Haskell.Exts.Syntax (- -- * Modules- Module(..), WarningText(..), ExportSpec(..),- ImportDecl(..), ImportSpec(..), Assoc(..), Namespace(..),- -- * Declarations- Decl(..), Binds(..), IPBind(..), PatternSynDirection(..),- -- ** Type classes and instances- ClassDecl(..), InstDecl(..), Deriving,- -- ** Data type declarations- DataOrNew(..), ConDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),- -- ** Function bindings- Match(..), Rhs(..), GuardedRhs(..),- -- * Class Assertions and Contexts- Context, FunDep(..), Asst(..),- -- * Types- Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),- TypeEqn (..),- -- * Expressions- Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),- Alt(..), XAttr(..),- -- * Patterns- Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),- -- * Literals- Literal(..), Sign(..),- -- * Variables, Constructors and Operators- ModuleName(..), QName(..), Name(..), QOp(..), Op(..),- SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),-- -- * Template Haskell- Bracket(..), Splice(..),-- -- * FFI- Safety(..), CallConv(..),-- -- * Pragmas- ModulePragma(..), Tool(..), Overlap(..),- Rule(..), RuleVar(..), Activation(..),- Annotation(..), BooleanFormula(..),-- -- * Builtin names-- -- ** Modules- prelude_mod, main_mod,- -- ** Main function of a program- main_name,- -- ** Constructors- unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,- unit_con, tuple_con, unboxed_singleton_con,- -- ** Special identifiers- as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,- export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,- javascript_name, capi_name, forall_name, family_name,- -- ** Type constructors- unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,- unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,-- -- * Source coordinates- SrcLoc(..),- ) where---import Data.Data-import GHC.Generics (Generic)-import Language.Haskell.Exts.SrcLoc (SrcLoc(..))-import Language.Haskell.Exts.Annotated.Syntax (Boxed(..), Tool(..))----- | The name of a Haskell module.-newtype ModuleName = ModuleName String- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Constructors with special syntax.--- These names are never qualified, and always refer to builtin type or--- data constructors.-data SpecialCon- = UnitCon -- ^ unit type and data constructor @()@- | ListCon -- ^ list type constructor @[]@- | FunCon -- ^ function type constructor @->@- | TupleCon Boxed Int -- ^ /n/-ary tuple type and data- -- constructors @(,)@ etc, possibly boxed @(\#,\#)@- | Cons -- ^ list data constructor @(:)@- | UnboxedSingleCon -- ^ unboxed singleton tuple constructor @(\# \#)@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | This type is used to represent qualified variables, and also--- qualified constructors.-data QName- = Qual ModuleName Name -- ^ name qualified with a module name- | UnQual Name -- ^ unqualified local name- | Special SpecialCon -- ^ built-in constructor with special syntax- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | This type is used to represent variables, and also constructors.-data Name- = Ident String -- ^ /varid/ or /conid/.- | Symbol String -- ^ /varsym/ or /consym/- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An implicit parameter name.-data IPName- = IPDup String -- ^ ?/ident/, non-linear implicit parameter- | IPLin String -- ^ %/ident/, linear implicit parameter- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Possibly qualified infix operators (/qop/), appearing in expressions.-data QOp- = QVarOp QName -- ^ variable operator (/qvarop/)- | QConOp QName -- ^ constructor operator (/qconop/)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Operators appearing in @infix@ declarations are never qualified.-data Op- = VarOp Name -- ^ variable operator (/varop/)- | ConOp Name -- ^ constructor operator (/conop/)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A name (/cname/) of a component of a class or data type in an @import@--- or export specification.-data CName- = VarName Name -- ^ name of a method or field- | ConName Name -- ^ name of a data constructor- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A complete Haskell source module.-data Module = Module SrcLoc ModuleName [ModulePragma] (Maybe WarningText)- (Maybe [ExportSpec]) [ImportDecl] [Decl]- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An item in a module's export specification.-data ExportSpec- = EVar QName -- ^ variable.- | EAbs Namespace QName -- ^ @T@:- -- a class or datatype exported abstractly,- -- or a type synonym.- | EThingAll QName -- ^ @T(..)@:- -- a class exported with all of its methods, or- -- a datatype exported with all of its constructors.- | EThingWith QName [CName] -- ^ @T(C_1,...,C_n)@:- -- a class exported with some of its methods, or- -- a datatype exported with some of its constructors.- | EModuleContents ModuleName -- ^ @module M@:- -- re-export a module.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Namespaces for imports/exports.-data Namespace = NoNamespace | TypeNamespace | PatternNamespace- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An import declaration.-data ImportDecl = ImportDecl- { importLoc :: SrcLoc -- ^ position of the @import@ keyword.- , importModule :: ModuleName -- ^ name of the module imported.- , importQualified :: Bool -- ^ imported @qualified@?- , importSrc :: Bool -- ^ imported with @{-\# SOURCE \#-}@?- , importSafe :: Bool -- ^ Import @safe@?- , importPkg :: Maybe String -- ^ imported with explicit package name- , importAs :: Maybe ModuleName -- ^ optional alias name in an @as@ clause.- , importSpecs :: Maybe (Bool,[ImportSpec])- -- ^ optional list of import specifications.- -- The 'Bool' is 'True' if the names are excluded- -- by @hiding@.- }- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An import specification, representing a single explicit item imported--- (or hidden) from a module.-data ImportSpec- = IVar Name -- ^ variable.- | IAbs Namespace Name -- ^ @T@:- -- the name of a class, datatype or type synonym.- | IThingAll Name -- ^ @T(..)@:- -- a class imported with all of its methods, or- -- a datatype imported with all of its constructors.- | IThingWith Name [CName] -- ^ @T(C_1,...,C_n)@:- -- a class imported with some of its methods, or- -- a datatype imported with some of its constructors.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Associativity of an operator.-data Assoc- = AssocNone -- ^ non-associative operator (declared with @infix@)- | AssocLeft -- ^ left-associative operator (declared with @infixl@).- | AssocRight -- ^ right-associative operator (declared with @infixr@)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single derived instance, which may have arguments since it may be a MPTC.-type Deriving = (QName, [Type])---- | A top-level declaration.-data Decl- = TypeDecl SrcLoc Name [TyVarBind] Type- -- ^ A type declaration- | TypeFamDecl SrcLoc Name [TyVarBind] (Maybe Kind)- -- ^ A type family declaration- | ClosedTypeFamDecl SrcLoc Name [TyVarBind] (Maybe Kind) [TypeEqn]- -- ^ A closed type family declaration- | DataDecl SrcLoc DataOrNew Context Name [TyVarBind] [QualConDecl] [Deriving]- -- ^ A data OR newtype declaration- | GDataDecl SrcLoc DataOrNew Context Name [TyVarBind] (Maybe Kind) [GadtDecl] [Deriving]- -- ^ A data OR newtype declaration, GADT style- | DataFamDecl SrcLoc {-data-} Context Name [TyVarBind] (Maybe Kind)- -- ^ A data family declaration- | TypeInsDecl SrcLoc Type Type- -- ^ A type family instance declaration- | DataInsDecl SrcLoc DataOrNew Type [QualConDecl] [Deriving]- -- ^ A data family instance declaration- | GDataInsDecl SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl] [Deriving]- -- ^ A data family instance declaration, GADT style- | ClassDecl SrcLoc Context Name [TyVarBind] [FunDep] [ClassDecl]- -- ^ A declaration of a type class- | InstDecl SrcLoc (Maybe Overlap) [TyVarBind] Context QName [Type] [InstDecl]- -- ^ An declaration of a type class instance- | DerivDecl SrcLoc (Maybe Overlap) [TyVarBind] Context QName [Type]- -- ^ A standalone deriving declaration- | InfixDecl SrcLoc Assoc Int [Op]- -- ^ A declaration of operator fixity- | DefaultDecl SrcLoc [Type]- -- ^ A declaration of default types- | SpliceDecl SrcLoc Exp- -- ^ A Template Haskell splicing declaration- | TypeSig SrcLoc [Name] Type- -- ^ A type signature declaration- | PatSynSig SrcLoc Name (Maybe [TyVarBind]) Context Context Type- -- ^ Pattern Synonym Signature- | FunBind [Match]- -- ^ A set of function binding clauses- | PatBind SrcLoc Pat Rhs {-where-} (Maybe Binds)- -- ^ A pattern binding- | ForImp SrcLoc CallConv Safety String Name Type- -- ^ A foreign import declaration- | ForExp SrcLoc CallConv String Name Type- -- ^ A foreign export declaration- | PatSyn SrcLoc Pat Pat PatternSynDirection-- | RulePragmaDecl SrcLoc [Rule]- -- ^ A RULES pragma- | DeprPragmaDecl SrcLoc [([Name], String)]- -- ^ A DEPRECATED pragma- | WarnPragmaDecl SrcLoc [([Name], String)]- -- ^ A WARNING pragma- | InlineSig SrcLoc Bool Activation QName- -- ^ An INLINE pragma- | InlineConlikeSig SrcLoc Activation QName- -- ^ An INLINE CONLIKE pragma- | SpecSig SrcLoc Activation QName [Type]- -- ^ A SPECIALISE pragma- | SpecInlineSig SrcLoc Bool Activation QName [Type]- -- ^ A SPECIALISE INLINE pragma- | InstSig SrcLoc [TyVarBind] Context QName [Type]- -- ^ A SPECIALISE instance pragma- | AnnPragma SrcLoc Annotation- -- ^ An ANN pragma- | MinimalPragma SrcLoc (Maybe BooleanFormula)- -- ^ A MINIMAL pragma- | RoleAnnotDecl SrcLoc QName [Role]- -- ^ A role annotation-- deriving (Eq,Ord,Show,Typeable,Data,Generic)--data PatternSynDirection =- Unidirectional -- ^ A unidirectional pattern synonym with "<-"- | ImplicitBidirectional -- ^ A bidirectional pattern synonym with "="- | ExplicitBidirectional [Decl] -- ^ A birectional pattern synonym with the construction specified.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type equation of the form @rhs = lhs@ used in closed type families.-data TypeEqn = TypeEqn Type Type deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An annotation through an ANN pragma.-data Annotation- = Ann Name Exp- -- ^ An annotation for a declared name.- | TypeAnn Name Exp- -- ^ An annotation for a declared type.- | ModuleAnn Exp- -- ^ An annotation for the defining module.- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A boolean formula for MINIMAL pragmas.-data BooleanFormula- = VarFormula Name -- ^ A variable.- | AndFormula [BooleanFormula] -- ^ And boolean formulas.- | OrFormula [BooleanFormula] -- ^ Or boolean formulas.- | ParenFormula BooleanFormula -- ^ Parenthesized boolean formulas.- deriving (Eq,Ord,Show,Typeable,Data,Generic)--data Role- = Nominal- | Representational- | Phantom- | RoleWildcard- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A flag stating whether a declaration is a data or newtype declaration.-data DataOrNew = DataType | NewType- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A binding group inside a @let@ or @where@ clause.-data Binds- = BDecls [Decl] -- ^ An ordinary binding group- | IPBinds [IPBind] -- ^ A binding group for implicit parameters- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A binding of an implicit parameter.-data IPBind = IPBind SrcLoc IPName Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Clauses of a function binding.-data Match- = Match SrcLoc Name [Pat] (Maybe Type) Rhs {-where-} (Maybe Binds)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single constructor declaration within a data type declaration,--- which may have an existential quantification binding.-data QualConDecl- = QualConDecl SrcLoc- {-forall-} [TyVarBind] {- . -} Context- {- => -} ConDecl- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declaration of an ordinary data constructor.-data ConDecl- = ConDecl Name [Type]- -- ^ ordinary data constructor- | InfixConDecl Type Name Type- -- ^ infix data constructor- | RecDecl Name [([Name],Type)]- -- ^ record constructor- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A single constructor declaration in a GADT data type declaration.-data GadtDecl- = GadtDecl SrcLoc Name [([Name], Type)] Type- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declarations inside a class declaration.-data ClassDecl- = ClsDecl Decl- -- ^ ordinary declaration- | ClsDataFam SrcLoc Context Name [TyVarBind] (Maybe Kind)- -- ^ declaration of an associated data type- | ClsTyFam SrcLoc Name [TyVarBind] (Maybe Kind)- -- ^ declaration of an associated type synonym- | ClsTyDef SrcLoc Type Type- -- ^ default choice for an associated type synonym- | ClsDefSig SrcLoc Name Type- -- ^ default signature- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Declarations inside an instance declaration.-data InstDecl- = InsDecl Decl- -- ^ ordinary declaration- | InsType SrcLoc Type Type- -- ^ an associated type definition- | InsData SrcLoc DataOrNew Type [QualConDecl] [Deriving]- -- ^ an associated data type implementation- | InsGData SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl] [Deriving]- -- ^ an associated data type implemented using GADT style- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The type of a constructor argument or field, optionally including--- a strictness annotation.-data BangType- = BangedTy -- ^ strict component, marked with \"@!@\"- | UnpackedTy -- ^ unboxed component, marked with an UNPACK pragma- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The right hand side of a function binding, pattern binding, or a case--- alternative.-data Rhs- = UnGuardedRhs Exp -- ^ unguarded right hand side (/exp/)- | GuardedRhss [GuardedRhs]- -- ^ guarded right hand side (/gdrhs/)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/--- for case alternatives.--- The guard is a series of statements when using pattern guards,--- otherwise it will be a single qualifier expression.-data GuardedRhs- = GuardedRhs SrcLoc [Stmt] Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type qualified with a context.--- An unqualified type has an empty context.-data Type- = TyForall- (Maybe [TyVarBind])- Context- Type -- ^ qualified type- | TyFun Type Type -- ^ function type- | TyTuple Boxed [Type] -- ^ tuple type, possibly boxed- | TyList Type -- ^ list syntax, e.g. [a], as opposed to [] a- | TyParArray Type -- ^ parallel array syntax, e.g. [:a:]- | TyApp Type Type -- ^ application of a type constructor- | TyVar Name -- ^ type variable- | TyCon QName -- ^ named type or type constructor- | TyParen Type -- ^ type surrounded by parentheses- | TyInfix Type QName Type -- ^ infix type constructor- | TyKind Type Kind -- ^ type with explicit kind signature- | TyPromoted Promoted -- ^ promoted data type (-XDataKinds)- | TyEquals Type Type -- ^ type equality predicate enabled by ConstraintKinds- | TySplice Splice -- ^ template haskell splice type- | TyBang BangType Type -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.- | TyWildCard (Maybe Name) -- ^ Type wildcard- deriving (Eq,Ord,Show,Typeable,Data)--data Promoted- = PromotedInteger Integer- | PromotedString String- | PromotedCon Bool QName- | PromotedList Bool [Type]- | PromotedTuple [Type]- | PromotedUnit- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A type variable declaration, optionally with an explicit kind annotation.-data TyVarBind- = KindedVar Name Kind -- ^ variable binding with kind annotation- | UnkindedVar Name -- ^ ordinary variable binding- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An explicit kind annotation.-data Kind- = KindStar -- ^ @*@, the kind of types- | KindFn Kind Kind -- ^ @->@, the kind of a type constructor- | KindParen Kind -- ^ a kind surrounded by parentheses- | KindVar QName -- ^ a kind variable (as of yet unsupported by compilers)- | KindApp Kind Kind -- ^ @k1 k2@- | KindTuple [Kind] -- ^ @(k1,k2,k3)@, kind of a promoted tuple- | KindList Kind -- ^ @[k1]@, kind of a promoted list- deriving (Eq,Ord,Show,Typeable,Data,Generic)----- | A functional dependency, given on the form--- l1 l2 ... ln -> r2 r3 .. rn-data FunDep- = FunDep [Name] [Name]- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A context is a set of assertions-type Context = [Asst]---- | Class assertions.--- In Haskell 98, the argument would be a /tyvar/, but this definition--- allows multiple parameters, and allows them to be /type/s.--- Also extended with support for implicit parameters and equality constraints.-data Asst = ClassA QName [Type] -- ^ ordinary class assertion- | AppA Name [Type] -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@- | InfixA Type QName Type -- ^ class assertion where the class name is given infix- | IParam IPName Type -- ^ implicit parameter assertion- | EqualP Type Type -- ^ type equality constraint- | ParenA Asst -- ^ parenthesised class assertion- | WildCardA (Maybe Name) -- ^ A wildcard- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | /literal/--- Values of this type hold the abstract value of the literal, not the--- precise string representation used. For example, @10@, @0o12@ and @0xa@--- have the same representation.-data Literal- = Char Char -- ^ character literal- | String String -- ^ string literal- | Int Integer -- ^ integer literal- | Frac Rational -- ^ floating point literal- | PrimInt Integer -- ^ unboxed integer literal- | PrimWord Integer -- ^ unboxed word literal- | PrimFloat Rational -- ^ unboxed float literal- | PrimDouble Rational -- ^ unboxed double literal- | PrimChar Char -- ^ unboxed character literal- | PrimString String -- ^ unboxed string literal- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An indication whether a literal pattern has been negated or not.-data Sign- = Signless- | Negative- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Haskell expressions.-data Exp- = Var QName -- ^ variable- | IPVar IPName -- ^ implicit parameter variable- | Con QName -- ^ data constructor- | Lit Literal -- ^ literal constant- | InfixApp Exp QOp Exp -- ^ infix application- | App Exp Exp -- ^ ordinary application- | NegApp Exp -- ^ negation expression @-/exp/@ (unary minus)- | Lambda SrcLoc [Pat] Exp -- ^ lambda expression- | Let Binds Exp -- ^ local declarations with @let@ ... @in@ ...- | If Exp Exp Exp -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/- | MultiIf [GuardedRhs] -- ^ @if@ @|@ /exp/ @->@ /exp/ ...- | Case Exp [Alt] -- ^ @case@ /exp/ @of@ /alts/- | Do [Stmt] -- ^ @do@-expression:- -- the last statement in the list- -- should be an expression.- | MDo [Stmt] -- ^ @mdo@-expression- | Tuple Boxed [Exp] -- ^ tuple expression- | TupleSection Boxed [Maybe Exp] -- ^ tuple section expression, e.g. @(,,3)@- | List [Exp] -- ^ list expression- | ParArray [Exp] -- ^ parallel array expression- | Paren Exp -- ^ parenthesised expression- | LeftSection Exp QOp -- ^ left section @(@/exp/ /qop/@)@- | RightSection QOp Exp -- ^ right section @(@/qop/ /exp/@)@- | RecConstr QName [FieldUpdate]- -- ^ record construction expression- | RecUpdate Exp [FieldUpdate]- -- ^ record update expression- | EnumFrom Exp -- ^ unbounded arithmetic sequence,- -- incrementing by 1: @[from ..]@- | EnumFromTo Exp Exp -- ^ bounded arithmetic sequence,- -- incrementing by 1 @[from .. to]@- | EnumFromThen Exp Exp -- ^ unbounded arithmetic sequence,- -- with first two elements given @[from, then ..]@- | EnumFromThenTo Exp Exp Exp- -- ^ bounded arithmetic sequence,- -- with first two elements given @[from, then .. to]@- | ParArrayFromTo Exp Exp -- ^ bounded arithmetic sequence,- -- incrementing by 1 @[from .. to]@- | ParArrayFromThenTo Exp Exp Exp- -- ^ bounded arithmetic sequence,- -- with first two elements given @[from, then .. to]@- | ListComp Exp [QualStmt] -- ^ ordinary list comprehension- | ParComp Exp [[QualStmt]] -- ^ parallel list comprehension- | ParArrayComp Exp [[QualStmt]]- -- ^ parallel array comprehension- | ExpTypeSig SrcLoc Exp Type -- ^ expression with explicit type signature-- | VarQuote QName -- ^ @'x@ for template haskell reifying of expressions- | TypQuote QName -- ^ @''T@ for template haskell reifying of types- | BracketExp Bracket -- ^ template haskell bracket expression- | SpliceExp Splice -- ^ template haskell splice expression- | QuasiQuote String String -- ^ quasi-quotaion: @[$/name/| /string/ |]@---- Hsx- | XTag SrcLoc XName [XAttr] (Maybe Exp) [Exp]- -- ^ xml element, with attributes and children- | XETag SrcLoc XName [XAttr] (Maybe Exp)- -- ^ empty xml element, with attributes- | XPcdata String -- ^ PCDATA child element- | XExpTag Exp -- ^ escaped haskell expression inside xml- | XChildTag SrcLoc [Exp] -- ^ children of an xml element---- Pragmas- | CorePragma String Exp -- ^ CORE pragma- | SCCPragma String Exp -- ^ SCC pragma- | GenPragma String (Int, Int) (Int, Int) Exp- -- ^ GENERATED pragma---- Arrows- | Proc SrcLoc Pat Exp -- ^ arrows proc: @proc@ /pat/ @->@ /exp/- | LeftArrApp Exp Exp -- ^ arrow application (from left): /exp/ @-<@ /exp/- | RightArrApp Exp Exp -- ^ arrow application (from right): /exp/ @>-@ /exp/- | LeftArrHighApp Exp Exp -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/- | RightArrHighApp Exp Exp -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/---- LambdaCase- | LCase [Alt] -- ^ @\case@ /alts/---- Holes- | ExprHole -- ^ Expression hole- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The name of an xml element or attribute,--- possibly qualified with a namespace.-data XName- = XName String -- <name ...- | XDomName String String -- <dom:name ...- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An xml attribute, which is a name-expression pair.-data XAttr = XAttr XName Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A template haskell bracket expression.-data Bracket- = ExpBracket Exp -- ^ expression bracket: @[| ... |]@- | PatBracket Pat -- ^ pattern bracket: @[p| ... |]@- | TypeBracket Type -- ^ type bracket: @[t| ... |]@- | DeclBracket [Decl] -- ^ declaration bracket: @[d| ... |]@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A template haskell splice expression-data Splice- = IdSplice String -- ^ variable splice: @$var@- | ParenSplice Exp -- ^ parenthesised expression splice: @$(/exp/)@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The safety of a foreign function call.-data Safety- = PlayRisky -- ^ unsafe- | PlaySafe Bool -- ^ safe ('False') or threadsafe ('True')- | PlayInterruptible -- ^ interruptible- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The calling convention of a foreign function call.-data CallConv- = StdCall- | CCall- | CPlusPlus- | DotNet- | Jvm- | Js- | JavaScript- | CApi- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A top level options pragma, preceding the module header.-data ModulePragma- = LanguagePragma SrcLoc [Name] -- ^ LANGUAGE pragma- | OptionsPragma SrcLoc (Maybe Tool) String- -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC- | AnnModulePragma SrcLoc Annotation- -- ^ ANN pragma with module scope- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Recognised overlaps for overlap pragmas.-data Overlap- = NoOverlap -- ^ NO_OVERLAP pragma- | Overlap -- ^ OVERLAP pragma- | Incoherent -- ^ INCOHERENT pragma- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Activation clause of a RULES pragma.-data Activation- = AlwaysActive- | ActiveFrom Int- | ActiveUntil Int- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | The body of a RULES pragma.-data Rule- = Rule String Activation (Maybe [RuleVar]) Exp Exp- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Variables used in a RULES pragma, optionally annotated with types-data RuleVar- = RuleVar Name- | TypedRuleVar Name Type- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | Warning text to optionally use in the module header of e.g.--- a deprecated module.-data WarningText- = DeprText String- | WarnText String- deriving (Eq,Ord,Show,Typeable,Data,Generic)----- | A pattern, to be matched against a value.-data Pat- = PVar Name -- ^ variable- | PLit Sign Literal -- ^ literal constant- | PNPlusK Name Integer -- ^ n+k pattern- | PInfixApp Pat QName Pat -- ^ pattern with an infix data constructor- | PApp QName [Pat] -- ^ data constructor and argument patterns- | PTuple Boxed [Pat] -- ^ tuple pattern- | PList [Pat] -- ^ list pattern- | PParen Pat -- ^ parenthesized pattern- | PRec QName [PatField] -- ^ labelled pattern, record style- | PAsPat Name Pat -- ^ @\@@-pattern- | PWildCard -- ^ wildcard pattern: @_@- | PIrrPat Pat -- ^ irrefutable pattern: @~/pat/@- | PatTypeSig SrcLoc Pat Type -- ^ pattern with type signature- | PViewPat Exp Pat -- ^ view patterns of the form @(/exp/ -> /pat/)@- | PRPat [RPat] -- ^ regular list pattern- | PXTag SrcLoc XName [PXAttr] (Maybe Pat) [Pat]- -- ^ XML element pattern- | PXETag SrcLoc XName [PXAttr] (Maybe Pat)- -- ^ XML singleton element pattern- | PXPcdata String -- ^ XML PCDATA pattern- | PXPatTag Pat -- ^ XML embedded pattern- | PXRPats [RPat] -- ^ XML regular list pattern- | PQuasiQuote String String -- ^ quasi quote patter: @[$/name/| /string/ |]@- | PBangPat Pat -- ^ strict (bang) pattern: @f !x = ...@- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An XML attribute in a pattern.-data PXAttr = PXAttr XName Pat- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A regular pattern operator.-data RPatOp- = RPStar -- ^ @*@ = 0 or more- | RPStarG -- ^ @*!@ = 0 or more, greedy- | RPPlus -- ^ @+@ = 1 or more- | RPPlusG -- ^ @+!@ = 1 or more, greedy- | RPOpt -- ^ @?@ = 0 or 1- | RPOptG -- ^ @?!@ = 0 or 1, greedy- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An entity in a regular pattern.-data RPat- = RPOp RPat RPatOp -- ^ operator pattern, e.g. pat*- | RPEither RPat RPat -- ^ choice pattern, e.g. (1 | 2)- | RPSeq [RPat] -- ^ sequence pattern, e.g. (| 1, 2, 3 |)- | RPGuard Pat [Stmt] -- ^ guarded pattern, e.g. (| p | p < 3 |)- | RPCAs Name RPat -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*- | RPAs Name RPat -- ^ linear variable binding, e.g. foo\@(1 | 2)- | RPParen RPat -- ^ parenthesised pattern, e.g. (2*)- | RPPat Pat -- ^ an ordinary pattern- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /fpat/ in a labeled record pattern.-data PatField- = PFieldPat QName Pat -- ^ ordinary label-pattern pair- | PFieldPun QName -- ^ record field pun- | PFieldWildcard -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A statement, representing both a /stmt/ in a @do@-expression,--- an ordinary /qual/ in a list comprehension, as well as a /stmt/--- in a pattern guard.-data Stmt- = Generator SrcLoc Pat Exp- -- ^ a generator: /pat/ @<-@ /exp/- | Qualifier Exp -- ^ an /exp/ by itself: in a @do@-expression,- -- an action whose result is discarded;- -- in a list comprehension and pattern guard,- -- a guard expression- | LetStmt Binds -- ^ local bindings- | RecStmt [Stmt] -- ^ a recursive binding group for arrows- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | A general /transqual/ in a list comprehension,--- which could potentially be a transform of the kind--- enabled by TransformListComp.-data QualStmt- = QualStmt Stmt -- ^ an ordinary statement- | ThenTrans Exp -- ^ @then@ /exp/- | ThenBy Exp Exp -- ^ @then@ /exp/ @by@ /exp/- | GroupBy Exp -- ^ @then@ @group@ @by@ /exp/- | GroupUsing Exp -- ^ @then@ @group@ @using@ /exp/- | GroupByUsing Exp Exp -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /fbind/ in a labeled construction or update expression.-data FieldUpdate- = FieldUpdate QName Exp -- ^ ordinary label-expresion pair- | FieldPun QName -- ^ record field pun- | FieldWildcard -- ^ record field wildcard- deriving (Eq,Ord,Show,Typeable,Data,Generic)---- | An /alt/ alternative in a @case@ expression.-data Alt- = Alt SrcLoc Pat Rhs (Maybe Binds)- deriving (Eq,Ord,Show,Typeable,Data,Generic)---------------------------------------------------------------------------------- Builtin names.--prelude_mod, main_mod :: ModuleName-prelude_mod = ModuleName "Prelude"-main_mod = ModuleName "Main"--main_name :: Name-main_name = Ident "main"--unit_con_name :: QName-unit_con_name = Special UnitCon--tuple_con_name :: Boxed -> Int -> QName-tuple_con_name b i = Special (TupleCon b (i+1))--list_cons_name :: QName-list_cons_name = Special Cons--unboxed_singleton_con_name :: QName-unboxed_singleton_con_name = Special UnboxedSingleCon--unit_con :: Exp-unit_con = Con unit_con_name--tuple_con :: Boxed -> Int -> Exp-tuple_con b i = Con (tuple_con_name b i)--unboxed_singleton_con :: Exp-unboxed_singleton_con = Con unboxed_singleton_con_name--as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: Name-as_name = Ident "as"-qualified_name = Ident "qualified"-hiding_name = Ident "hiding"-minus_name = Symbol "-"-bang_name = Symbol "!"-dot_name = Symbol "."-star_name = Symbol "*"--export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,- stdcall_name, ccall_name, cplusplus_name, dotnet_name,- jvm_name, js_name, javascript_name, capi_name, forall_name,- family_name :: Name-export_name = Ident "export"-safe_name = Ident "safe"-unsafe_name = Ident "unsafe"-interruptible_name = Ident "interruptible"-threadsafe_name = Ident "threadsafe"-stdcall_name = Ident "stdcall"-ccall_name = Ident "ccall"-cplusplus_name = Ident "cplusplus"-dotnet_name = Ident "dotnet"-jvm_name = Ident "jvm"-js_name = Ident "js"-javascript_name = Ident "js"-capi_name = Ident "capi"-forall_name = Ident "forall"-family_name = Ident "family"--unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: QName-unit_tycon_name = unit_con_name-fun_tycon_name = Special FunCon-list_tycon_name = Special ListCon-unboxed_singleton_tycon_name = Special UnboxedSingleCon--tuple_tycon_name :: Boxed -> Int -> QName-tuple_tycon_name b i = tuple_con_name b i--unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: Type-unit_tycon = TyCon unit_tycon_name-fun_tycon = TyCon fun_tycon_name-list_tycon = TyCon list_tycon_name-unboxed_singleton_tycon = TyCon unboxed_singleton_tycon_name--tuple_tycon :: Boxed -> Int -> Type-tuple_tycon b i = TyCon (tuple_tycon_name b i)+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE CPP #-}++-----------------------------------------------------------------------------+-- |+-- Module : Language.Haskell.Exts.Syntax+-- Copyright : (c) Niklas Broberg 2004-2009,+-- (c) The GHC Team, 1997-2000+-- License : BSD-style (see the file LICENSE.txt)+--+-- Maintainer : Niklas Broberg, d00nibro@chalmers.se+-- Stability : stable+-- Portability : portable+--+-- A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98+-- <http://www.haskell.org/onlinereport/> plus registered extensions, including:+--+-- * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)+--+-- * parameters of type class assertions are unrestricted (FlexibleContexts)+--+-- * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)+--+-- * pattern guards (PatternGuards)+--+-- * implicit parameters (ImplicitParameters)+--+-- * generalised algebraic data types (GADTs)+--+-- * template haskell (TemplateHaskell)+--+-- * empty data type declarations (EmptyDataDecls)+--+-- * unboxed tuples (UnboxedTuples)+--+-- * regular patterns (RegularPatterns)+--+-- * HSP-style XML expressions and patterns (XmlSyntax)+--+-- All nodes in the syntax tree are annotated with something of a user-definable data type.+-- When parsing, this annotation will contain information about the source location that the+-- particular node comes from.+--+-----------------------------------------------------------------------------++module Language.Haskell.Exts.Syntax (+ -- * Modules+ Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),+ EWildcard(..),+ ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),+ -- * Declarations+ Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),+ InjectivityInfo(..), ResultSig(..),+ -- ** Type classes and instances+ ClassDecl(..), InstDecl(..), Deriving(..), DerivStrategy(..),+ -- ** Data type declarations+ DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),+ Unpackedness(..),+ -- ** Function bindings+ Match(..), Rhs(..), GuardedRhs(..),+ -- * Class Assertions and Contexts+ Context(..), FunDep(..), Asst(..),+ -- * Types+ Type(..), Boxed(..), Kind, TyVarBind(..), Promoted(..),+ TypeEqn (..),+ -- * Expressions+ Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),+ Alt(..), XAttr(..),+ -- * Patterns+ Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),+ -- * Literals+ Literal(..), Sign(..),+ -- * Variables, Constructors and Operators+ ModuleName(..), QName(..), Name(..), QOp(..), Op(..),+ SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),+ MaybePromotedName(..),++ -- * Template Haskell+ Bracket(..), Splice(..),++ -- * FFI+ Safety(..), CallConv(..),++ -- * Pragmas+ ModulePragma(..), Tool(..), Overlap(..),+ Rule(..), RuleVar(..), Activation(..),+ Annotation(..), BooleanFormula(..),++ -- * Builtin names++ -- ** Modules+ prelude_mod, main_mod,+ -- ** Main function of a program+ main_name,+ -- ** Constructors+ unit_con_name, tuple_con_name, list_con_name, list_cons_name, unboxed_singleton_con_name,+ unit_con, tuple_con, unboxed_singleton_con,+ -- ** Special identifiers+ as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name,+ export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,+ stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name,+ javascript_name, capi_name, forall_name, family_name, role_name, hole_name,+ stock_name, anyclass_name, via_name,+ -- ** Type constructors+ unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name,+ unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,++ -- * Source coordinates+ -- SrcLoc(..),++ -- * Annotated trees+ Annotated(..), (=~=),+ ) where++import Prelude hiding (id)++import Data.Data+import GHC.Generics (Generic)+#if __GLASGOW_HASKELL__ < 710+import Data.Foldable (Foldable)+import Data.Traversable (Traversable)+#endif++-- | The name of a Haskell module.+data ModuleName l = ModuleName l String+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Constructors with special syntax.+-- These names are never qualified, and always refer to builtin type or+-- data constructors.+data SpecialCon l+ = UnitCon l -- ^ unit type and data constructor @()@+ | ListCon l -- ^ list type and data constructor @[]@+ | FunCon l -- ^ function type constructor @->@+ | TupleCon l Boxed Int -- ^ /n/-ary tuple type and data+ -- constructors @(,)@ etc, possibly boxed @(\#,\#)@+ | Cons l -- ^ list data constructor @(:)@+ | UnboxedSingleCon l -- ^ unboxed singleton tuple constructor @(\# \#)@+ | ExprHole l -- ^ An expression hole _+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | This type is used to represent qualified variables, and also+-- qualified constructors.+data QName l+ = Qual l (ModuleName l) (Name l) -- ^ name qualified with a module name+ | UnQual l (Name l) -- ^ unqualified local name+ | Special l (SpecialCon l) -- ^ built-in constructor with special syntax+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | This type is used to represent variables, and also constructors.+data Name l+ = Ident l String -- ^ /varid/ or /conid/.+ | Symbol l String -- ^ /varsym/ or /consym/+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An implicit parameter name.+data IPName l+ = IPDup l String -- ^ ?/ident/, non-linear implicit parameter+ | IPLin l String -- ^ %/ident/, linear implicit parameter+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Possibly qualified infix operators (/qop/), appearing in expressions.+data QOp l+ = QVarOp l (QName l) -- ^ variable operator (/qvarop/)+ | QConOp l (QName l) -- ^ constructor operator (/qconop/)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Operators appearing in @infix@ declarations are never qualified.+data Op l+ = VarOp l (Name l) -- ^ variable operator (/varop/)+ | ConOp l (Name l) -- ^ constructor operator (/conop/)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A name (/cname/) of a component of a class or data type in an @import@+-- or export specification.+data CName l+ = VarName l (Name l) -- ^ name of a method or field+ | ConName l (Name l) -- ^ name of a data constructor+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A complete Haskell source module.+data Module l+ = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]+ -- ^ an ordinary Haskell module+ | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+ -- ^ a module consisting of a single XML document. The ModuleName never appears in the source+ -- but is needed for semantic purposes, it will be the same as the file name.+ | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]+ (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+ -- ^ a hybrid module combining an XML document with an ordinary module+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The head of a module, including the name and export specification.+data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit export specification.+data ExportSpecList l+ = ExportSpecList l [ExportSpec l]+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An item in a module's export specification.+data ExportSpec l+ = EVar l (QName l) -- ^ variable.+ | EAbs l (Namespace l) (QName l) -- ^ @T@:+ -- a class or datatype exported abstractly,+ -- or a type synonym.+ | EThingWith l (EWildcard l) (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:+ -- a class exported with some of its methods, or+ -- a datatype exported with some of its constructors.+ | EModuleContents l (ModuleName l) -- ^ @module M@:+ -- re-export a module.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Indicates the position of the wildcard in an export list+data EWildcard l = NoWildcard l | EWildcard l Int+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Namespaces for imports/exports.+data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An import declaration.+data ImportDecl l = ImportDecl+ { importAnn :: l -- ^ annotation, used by parser for position of the @import@ keyword.+ , importModule :: ModuleName l -- ^ name of the module imported.+ , importQualified :: Bool -- ^ imported @qualified@?+ , importSrc :: Bool -- ^ imported with @{-\# SOURCE \#-}@?+ , importSafe :: Bool -- ^ Import @safe@?+ , importPkg :: Maybe String -- ^ imported with explicit package name+ , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.+ , importSpecs :: Maybe (ImportSpecList l)+ -- ^ optional list of import specifications.+ }+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit import specification list.+data ImportSpecList l+ = ImportSpecList l Bool [ImportSpec l]+ -- ^ A list of import specifications.+ -- The 'Bool' is 'True' if the names are excluded+ -- by @hiding@.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An import specification, representing a single explicit item imported+-- (or hidden) from a module.+data ImportSpec l+ = IVar l (Name l) -- ^ variable+ | IAbs l (Namespace l) (Name l) -- ^ @T@:+ -- the name of a class, datatype or type synonym.+ | IThingAll l (Name l) -- ^ @T(..)@:+ -- a class imported with all of its methods, or+ -- a datatype imported with all of its constructors.+ | IThingWith l (Name l) [CName l] -- ^ @T(C_1,...,C_n)@:+ -- a class imported with some of its methods, or+ -- a datatype imported with some of its constructors.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Associativity of an operator.+data Assoc l+ = AssocNone l -- ^ non-associative operator (declared with @infix@)+ | AssocLeft l -- ^ left-associative operator (declared with @infixl@).+ | AssocRight l -- ^ right-associative operator (declared with @infixr@)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A top-level declaration.+data Decl l+ = TypeDecl l (DeclHead l) (Type l)+ -- ^ A type declaration+ | TypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))+ -- ^ A type family declaration+ | ClosedTypeFamDecl l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) [TypeEqn l]+ -- ^ A closed type family declaration+ | DataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) [QualConDecl l] [Deriving l]+ -- ^ A data OR newtype declaration+ | GDataDecl l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+ -- ^ A data OR newtype declaration, GADT style+ | DataFamDecl l {-data-} (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))+ -- ^ A data family declaration+ | TypeInsDecl l (Type l) (Type l)+ -- ^ A type family instance declaration+ | DataInsDecl l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l]+ -- ^ A data family instance declaration+ | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+ -- ^ A data family instance declaration, GADT style+ | ClassDecl l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])+ -- ^ A declaration of a type class+ | InstDecl l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])+ -- ^ An declaration of a type class instance+ | DerivDecl l (Maybe (DerivStrategy l)) (Maybe (Overlap l)) (InstRule l)+ -- ^ A standalone deriving declaration+ | InfixDecl l (Assoc l) (Maybe Int) [Op l]+ -- ^ A declaration of operator fixity+ | DefaultDecl l [Type l]+ -- ^ A declaration of default types+ | SpliceDecl l (Exp l)+ -- ^ A Template Haskell splicing declaration+ | TSpliceDecl l (Exp l)+ -- ^ A typed Template Haskell splicing declaration+ | TypeSig l [Name l] (Type l)+ -- ^ A type signature declaration+ | PatSynSig l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l))+ (Maybe [TyVarBind l]) (Maybe (Context l))+ (Type l)+ -- ^ A pattern synonym signature declation+ | FunBind l [Match l]+ -- ^ A set of function binding clauses+ | PatBind l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))+ -- ^ A pattern binding+ | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)+ -- ^ A pattern synonym binding+ | ForImp l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)+ -- ^ A foreign import declaration+ | ForExp l (CallConv l) (Maybe String) (Name l) (Type l)+ -- ^ A foreign export declaration+ | RulePragmaDecl l [Rule l]+ -- ^ A RULES pragma+ | DeprPragmaDecl l [([Name l], String)]+ -- ^ A DEPRECATED pragma+ | WarnPragmaDecl l [([Name l], String)]+ -- ^ A WARNING pragma+ | InlineSig l Bool (Maybe (Activation l)) (QName l)+ -- ^ An INLINE pragma+ | InlineConlikeSig l (Maybe (Activation l)) (QName l)+ -- ^ An INLINE CONLIKE pragma+ | SpecSig l (Maybe (Activation l)) (QName l) [Type l]+ -- ^ A SPECIALISE pragma+ | SpecInlineSig l Bool (Maybe (Activation l)) (QName l) [Type l]+ -- ^ A SPECIALISE INLINE pragma+ | InstSig l (InstRule l)+ -- ^ A SPECIALISE instance pragma+ | AnnPragma l (Annotation l)+ -- ^ An ANN pragma+ | MinimalPragma l (Maybe (BooleanFormula l))+ -- ^ A MINIMAL pragma+ | RoleAnnotDecl l (QName l) [Role l]+ -- ^ A role annotation+ | CompletePragma l [Name l] (Maybe (QName l))+ -- ^ A COMPLETE pragma+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data PatternSynDirection l =+ Unidirectional -- ^ A unidirectional pattern synonym with "<-"+ | ImplicitBidirectional -- ^ A bidirectional pattern synonym with "="+ | ExplicitBidirectional l [Decl l] -- ^ A birectional pattern synonym with the construction specified.+ deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)++-- | A type equation as found in closed type families.+data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An annotation through an ANN pragma.+data Annotation l+ = Ann l (Name l) (Exp l)+ -- ^ An annotation for a declared name.+ | TypeAnn l (Name l) (Exp l)+ -- ^ An annotation for a declared type.+ | ModuleAnn l (Exp l)+ -- ^ An annotation for the defining module.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A boolean formula for MINIMAL pragmas.+data BooleanFormula l+ = VarFormula l (Name l) -- ^ A variable.+ | AndFormula l [BooleanFormula l] -- ^ And boolean formulas.+ | OrFormula l [BooleanFormula l] -- ^ Or boolean formulas.+ | ParenFormula l (BooleanFormula l) -- ^ Parenthesized boolean formulas.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data Role l+ = Nominal l+ | Representational l+ | Phantom l+ | RoleWildcard l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A flag stating whether a declaration is a data or newtype declaration.+data DataOrNew l = DataType l | NewType l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | Injectivity info for injective type families+data InjectivityInfo l = InjectivityInfo l (Name l) [Name l]+ deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)++data ResultSig l = KindSig l (Kind l) | TyVarSig l (TyVarBind l)+ deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)++-- | The head of a type or class declaration, which consists of the type+-- or class name applied to some type variables+--+-- @class C a b@ is represented as+--+-- >DHApp+-- > ()+-- > (DHApp+-- > () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))+-- > (UnkindedVar () (Ident () "b"))+--+-- (where the annotation type @l@ is instantiated with @()@)+--+-- @class (a :< b) c@ is represented as+--+-- >DHApp+-- > ()+-- > (DHParen+-- > ()+-- > (DHApp+-- > ()+-- > (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))+-- > (UnkindedVar () (Ident () "b"))))+-- > (UnkindedVar () (Ident () "c"))+data DeclHead l+ = DHead l (Name l) -- ^ type or class name+ | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand+ | DHParen l (DeclHead l) -- ^ parenthesized declaration head+ | DHApp l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.+--+-- Example: @instance Ord a => Ord (Maybe a)@ is represented as+--+-- >IRule+-- > ()+-- > Nothing+-- > (Just+-- > (CxSingle+-- > ()+-- > (ClassA+-- > () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))+-- > (IHApp+-- > ()+-- > (IHCon () (UnQual () (Ident () "Ord")))+-- > (TyParen+-- > ()+-- > (TyApp+-- > ()+-- > (TyCon () (UnQual () (Ident () "Maybe")))+-- > (TyVar () (Ident () "a")))))+--+-- An optional explicit forall after @instance@ is supported:+-- @instance forall a . Ord a => Ord (Maybe a) where@ becomes+--+-- >IRule+-- > ()+-- > (Just [ UnkindedVar () (Ident () "a") ])+-- > ...+data InstRule l+ = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)+ | IParen l (InstRule l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- See bugs #7 and #31 for more details and use cases for the rationale+-- of the split. DeclOrInstHead should be used by DeclHead as the name implies.++-- | The instance head. The split between rule/head allow us to represent+-- @instance (Bounded a => Bounded [a]) where@ faithfully.+--+-- The structure of 'InstHead' follows one of 'DeclHead'.+--+-- For example, @instance C (Maybe a) Int where@ is represented as+--+-- >IHApp+-- > ()+-- > (IHApp+-- > ()+-- > (IHCon () (UnQual () (Ident () "C")))+-- > (TyParen+-- > ()+-- > (TyApp+-- > ()+-- > (TyCon () (UnQual () (Ident () "Maybe")))+-- > (TyVar () (Ident () "a")))))+-- > (TyCon () (UnQual () (Ident () "Int")))))+data InstHead l+ = IHCon l (QName l) -- ^ type or class name+ | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand+ | IHParen l (InstHead l) -- ^ parenthesized instance head+ | IHApp l (InstHead l) (Type l) -- ^ application to one more type+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A deriving clause following a data type declaration.+data Deriving l = Deriving l (Maybe (DerivStrategy l)) [InstRule l]+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Which technique the user explicitly requested when deriving an instance.+data DerivStrategy l+ = DerivStock l -- ^ GHC's \"standard\" strategy, which is to implement a+ -- custom instance for the data type. This only works for+ -- certain types that GHC knows about (e.g., 'Eq', 'Show',+ -- 'Functor' when @-XDeriveFunctor@ is enabled, etc.)+ | DerivAnyclass l -- ^ @-XDeriveAnyClass@+ | DerivNewtype l -- ^ @-XGeneralizedNewtypeDeriving@+ | DerivVia l (Type l) -- ^ @-XDerivingVia@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A binding group inside a @let@ or @where@ clause.+data Binds l+ = BDecls l [Decl l] -- ^ An ordinary binding group+ | IPBinds l [IPBind l] -- ^ A binding group for implicit parameters+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A binding of an implicit parameter.+data IPBind l = IPBind l (IPName l) (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Clauses of a function binding.+data Match l+ = Match l (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))+ -- ^ A clause defined with prefix notation, i.e. the function name+ -- followed by its argument patterns, the right-hand side and an+ -- optional where clause.+ | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))+ -- ^ A clause defined with infix notation, i.e. first its first argument+ -- pattern, then the function name, then its following argument(s),+ -- the right-hand side and an optional where clause.+ -- Note that there can be more than two arguments to a function declared+ -- infix, hence the list of pattern arguments.+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A single constructor declaration within a data type declaration,+-- which may have an existential quantification binding.+data QualConDecl l+ = QualConDecl l+ {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+ {- => -} (ConDecl l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declaration of an ordinary data constructor.+data ConDecl l+ = ConDecl l (Name l) [Type l]+ -- ^ ordinary data constructor+ | InfixConDecl l (Type l) (Name l) (Type l)+ -- ^ infix data constructor+ | RecDecl l (Name l) [FieldDecl l]+ -- ^ record constructor+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declaration of a (list of) named field(s).+data FieldDecl l = FieldDecl l [Name l] (Type l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | A single constructor declaration in a GADT data type declaration.+--+-- If the GADT is declared using the record syntax, e.g.+--+-- >data Ty where+-- > TCon :: { field1 :: Int, field2 :: Bool } -> Ty+--+-- then the fields are stored as a list of 'FieldDecl's, and the final type+-- (@Ty@ in the above example) is stored in the last 'Type' field.+--+-- If the GADT is declared using the ordinary syntax, e.g.+--+-- >data Ty where+-- > TCon :: Int -> Bool -> Ty+--+-- then @'Maybe' ['FieldDecl' l]@ is 'Nothing', and the whole constructor's+-- type (such as @Int -> Bool -> Ty@) is stored in the last 'Type' field.+data GadtDecl l+ = GadtDecl l (Name l)+ {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+ {- => -} (Maybe [FieldDecl l]) (Type l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declarations inside a class declaration.+data ClassDecl l+ = ClsDecl l (Decl l)+ -- ^ ordinary declaration+ | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))+ -- ^ declaration of an associated data type+ | ClsTyFam l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))+ -- ^ declaration of an associated type synonym+ | ClsTyDef l (TypeEqn l)+ -- ^ default choice for an associated type synonym+ | ClsDefSig l (Name l) (Type l)+ -- ^ default signature+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Declarations inside an instance declaration.+data InstDecl l+ = InsDecl l (Decl l)+ -- ^ ordinary declaration+ | InsType l (Type l) (Type l)+ -- ^ an associated type definition+ | InsData l (DataOrNew l) (Type l) [QualConDecl l] [Deriving l]+ -- ^ an associated data type implementation+ | InsGData l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] [Deriving l]+ -- ^ an associated data type implemented using GADT style+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The type of a constructor argument or field, optionally including+-- a strictness annotation.+data BangType l+ = BangedTy l -- ^ strict component, marked with \"@!@\"+ | LazyTy l -- ^ lazy component, marked with \"@~@\"+ | NoStrictAnnot l -- ^ No strictness information+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data Unpackedness l+ = Unpack l -- ^ \"@{-\# UNPACK \#-}@\"+ | NoUnpack l -- ^ \"@{-\# NOUNPACK \#-}@\"+ | NoUnpackPragma l -- ^ No unpack pragma+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The right hand side of a function binding, pattern binding, or a case+-- alternative.+data Rhs l+ = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)+ | GuardedRhss l [GuardedRhs l]+ -- ^ guarded right hand side (/gdrhs/)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/+-- for case alternatives.+-- The guard is a series of statements when using pattern guards,+-- otherwise it will be a single qualifier expression.+data GuardedRhs l+ = GuardedRhs l [Stmt l] (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A type qualified with a context.+-- An unqualified type has an empty context.+data Type l+ = TyForall l+ (Maybe [TyVarBind l])+ (Maybe (Context l))+ (Type l) -- ^ qualified type+ | TyStar l -- ^ @*@, the type of types+ | TyFun l (Type l) (Type l) -- ^ function type+ | TyTuple l Boxed [Type l] -- ^ tuple type, possibly boxed+ | TyUnboxedSum l [Type l] -- ^ unboxed tuple type+ | TyList l (Type l) -- ^ list syntax, e.g. [a], as opposed to [] a+ | TyParArray l (Type l) -- ^ parallel array syntax, e.g. [:a:]+ | TyApp l (Type l) (Type l) -- ^ application of a type constructor+ | TyVar l (Name l) -- ^ type variable+ | TyCon l (QName l) -- ^ named type or type constructor+ | TyParen l (Type l) -- ^ type surrounded by parentheses+ | TyInfix l (Type l) (MaybePromotedName l)+ (Type l) -- ^ infix type constructor+ | TyKind l (Type l) (Kind l) -- ^ type with explicit kind signature+ | TyPromoted l (Promoted l) -- ^ @'K@, a promoted data type (-XDataKinds).+ | TyEquals l (Type l) (Type l) -- ^ type equality predicate enabled by ConstraintKinds+ | TySplice l (Splice l) -- ^ template haskell splice type+ | TyBang l (BangType l) (Unpackedness l) (Type l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.+ | TyWildCard l (Maybe (Name l)) -- ^ Either an anonymous of named type wildcard+ | TyQuasiQuote l String String -- ^ @[$/name/| /string/ |]@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++data MaybePromotedName l = PromotedName l (QName l) | UnpromotedName l (QName l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Bools here are True if there was a leading quote which may be+-- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.+data Promoted l+ = PromotedInteger l Integer String -- ^ parsed value and raw string+ | PromotedString l String String -- ^ parsed value and raw string+ | PromotedCon l Bool (QName l)+ | PromotedList l Bool [Type l]+ | PromotedTuple l [Type l]+ | PromotedUnit l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Flag denoting whether a tuple is boxed or unboxed.+data Boxed = Boxed | Unboxed+ deriving (Eq,Ord,Show,Typeable,Data,Generic)++-- | A type variable declaration, optionally with an explicit kind annotation.+data TyVarBind l+ = KindedVar l (Name l) (Kind l) -- ^ variable binding with kind annotation+ | UnkindedVar l (Name l) -- ^ ordinary variable binding+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An explicit kind annotation.+type Kind = Type+++-- | A functional dependency, given on the form+-- l1 l2 ... ln -> r2 r3 .. rn+data FunDep l+ = FunDep l [Name l] [Name l]+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A context is a set of assertions+data Context l+ = CxSingle l (Asst l)+ | CxTuple l [Asst l]+ | CxEmpty l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Class assertions.+data Asst l+ = TypeA l (Type l) -- ^ type assertion+ | IParam l (IPName l) (Type l) -- ^ implicit parameter assertion+ | ParenA l (Asst l) -- ^ parenthesised class assertion+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | /literal/+-- Values of this type hold the abstract value of the literal, along with the+-- precise string representation used. For example, @10@, @0o12@ and @0xa@+-- have the same value representation, but each carry a different string representation.+data Literal l+ = Char l Char String -- ^ character literal+ | String l String String -- ^ string literal+ | Int l Integer String -- ^ integer literal+ | Frac l Rational String -- ^ floating point literal+ | PrimInt l Integer String -- ^ unboxed integer literal+ | PrimWord l Integer String -- ^ unboxed word literal+ | PrimFloat l Rational String -- ^ unboxed float literal+ | PrimDouble l Rational String -- ^ unboxed double literal+ | PrimChar l Char String -- ^ unboxed character literal+ | PrimString l String String -- ^ unboxed string literal+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An indication whether a literal pattern has been negated or not.+data Sign l+ = Signless l+ | Negative l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Haskell expressions.+data Exp l+ = Var l (QName l) -- ^ variable+ | OverloadedLabel l String -- ^ Overloaded label #foo+ | IPVar l (IPName l) -- ^ implicit parameter variable+ | Con l (QName l) -- ^ data constructor+ | Lit l (Literal l) -- ^ literal constant+ | InfixApp l (Exp l) (QOp l) (Exp l) -- ^ infix application+ | App l (Exp l) (Exp l) -- ^ ordinary application+ | NegApp l (Exp l) -- ^ negation expression @-/exp/@ (unary minus)+ | Lambda l [Pat l] (Exp l) -- ^ lambda expression+ | Let l (Binds l) (Exp l) -- ^ local declarations with @let@ ... @in@ ...+ | If l (Exp l) (Exp l) (Exp l) -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/+ | MultiIf l [GuardedRhs l] -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...+ | Case l (Exp l) [Alt l] -- ^ @case@ /exp/ @of@ /alts/+ | Do l [Stmt l] -- ^ @do@-expression:+ -- the last statement in the list+ -- should be an expression.+ | MDo l [Stmt l] -- ^ @mdo@-expression+ | Tuple l Boxed [Exp l] -- ^ tuple expression+ | UnboxedSum l Int Int (Exp l) -- ^ unboxed sum+ | TupleSection l Boxed [Maybe (Exp l)] -- ^ tuple section expression, e.g. @(,,3)@+ | List l [Exp l] -- ^ list expression+ | ParArray l [Exp l] -- ^ parallel array expression+ | Paren l (Exp l) -- ^ parenthesised expression+ | LeftSection l (Exp l) (QOp l) -- ^ left section @(@/exp/ /qop/@)@+ | RightSection l (QOp l) (Exp l) -- ^ right section @(@/qop/ /exp/@)@+ | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression+ | RecUpdate l (Exp l) [FieldUpdate l] -- ^ record update expression+ | EnumFrom l (Exp l) -- ^ unbounded arithmetic sequence,+ -- incrementing by 1: @[from ..]@+ | EnumFromTo l (Exp l) (Exp l) -- ^ bounded arithmetic sequence,+ -- incrementing by 1 @[from .. to]@+ | EnumFromThen l (Exp l) (Exp l) -- ^ unbounded arithmetic sequence,+ -- with first two elements given @[from, then ..]@+ | EnumFromThenTo l (Exp l) (Exp l) (Exp l)+ -- ^ bounded arithmetic sequence,+ -- with first two elements given @[from, then .. to]@+ | ParArrayFromTo l (Exp l) (Exp l) -- ^ Parallel array bounded arithmetic sequence,+ -- incrementing by 1 @[:from .. to:]@+ | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)+ -- ^ bounded arithmetic sequence,+ -- with first two elements given @[:from, then .. to:]@+ | ListComp l (Exp l) [QualStmt l] -- ^ ordinary list comprehension+ | ParComp l (Exp l) [[QualStmt l]] -- ^ parallel list comprehension+ | ParArrayComp l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension+ | ExpTypeSig l (Exp l) (Type l) -- ^ expression with explicit type signature++ | VarQuote l (QName l) -- ^ @'x@ for template haskell reifying of expressions+ | TypQuote l (QName l) -- ^ @''T@ for template haskell reifying of types+ | BracketExp l (Bracket l) -- ^ template haskell bracket expression+ | SpliceExp l (Splice l) -- ^ template haskell splice expression+ | QuasiQuote l String String -- ^ quasi-quotaion: @[$/name/| /string/ |]@+ | TypeApp l (Type l) -- ^ Visible type application++-- Hsx+ | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]+ -- ^ xml element, with attributes and children+ | XETag l (XName l) [XAttr l] (Maybe (Exp l))+ -- ^ empty xml element, with attributes+ | XPcdata l String -- ^ PCDATA child element+ | XExpTag l (Exp l) -- ^ escaped haskell expression inside xml+ | XChildTag l [Exp l] -- ^ children of an xml element+++-- Pragmas+ | CorePragma l String (Exp l) -- ^ CORE pragma+ | SCCPragma l String (Exp l) -- ^ SCC pragma+ | GenPragma l String (Int, Int) (Int, Int) (Exp l)+ -- ^ GENERATED pragma++-- Arrows+ | Proc l (Pat l) (Exp l) -- ^ arrows proc: @proc@ /pat/ @->@ /exp/+ | LeftArrApp l (Exp l) (Exp l) -- ^ arrow application (from left): /exp/ @-<@ /exp/+ | RightArrApp l (Exp l) (Exp l) -- ^ arrow application (from right): /exp/ @>-@ /exp/+ | LeftArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/+ | RightArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/+ | ArrOp l (Exp l) -- ^ arrow control operators: @(| /exp/ |)@++-- LambdaCase+ | LCase l [Alt l] -- ^ @\case@ /alts/++ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The name of an xml element or attribute,+-- possibly qualified with a namespace.+data XName l+ = XName l String -- <name ...+ | XDomName l String String -- <dom:name ...+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An xml attribute, which is a name-expression pair.+data XAttr l = XAttr l (XName l) (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A template haskell bracket expression.+data Bracket l+ = ExpBracket l (Exp l) -- ^ expression bracket: @[| ... |]@+ | TExpBracket l (Exp l) -- ^ typed expression bracket: @[|| ... ||]@+ | PatBracket l (Pat l) -- ^ pattern bracket: @[p| ... |]@+ | TypeBracket l (Type l) -- ^ type bracket: @[t| ... |]@+ | DeclBracket l [Decl l] -- ^ declaration bracket: @[d| ... |]@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A template haskell splice expression+data Splice l+ = IdSplice l String -- ^ variable splice: @$var@+ | TIdSplice l String -- ^ typed variable splice: @$$var@+ | ParenSplice l (Exp l) -- ^ parenthesised expression splice: @$(/exp/)@+ | TParenSplice l (Exp l) -- ^ parenthesised typed expression splice: @$$(/exp/)@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The safety of a foreign function call.+data Safety l+ = PlayRisky l -- ^ unsafe+ | PlaySafe l Bool -- ^ safe ('False') or threadsafe ('True')+ | PlayInterruptible l -- ^ interruptible+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The calling convention of a foreign function call.+data CallConv l+ = StdCall l+ | CCall l+ | CPlusPlus l+ | DotNet l+ | Jvm l+ | Js l+ | JavaScript l+ | CApi l+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A top level options pragma, preceding the module header.+data ModulePragma l+ = LanguagePragma l [Name l] -- ^ LANGUAGE pragma+ | OptionsPragma l (Maybe Tool) String+ -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC+ | AnnModulePragma l (Annotation l)+ -- ^ ANN pragma with module scope+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Recognised tools for OPTIONS pragmas.+data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String+ deriving (Eq,Ord,Show,Typeable,Data,Generic)++-- | Recognised overlaps for overlap pragmas.+data Overlap l+ = NoOverlap l -- ^ NO_OVERLAP pragma+ | Overlap l -- ^ OVERLAP pragma+ | Overlapping l+ | Overlaps l+ | Overlappable l+ | Incoherent l -- ^ INCOHERENT pragma+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Activation clause of a RULES pragma.+data Activation l+ = ActiveFrom l Int+ | ActiveUntil l Int+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | The body of a RULES pragma.+data Rule l+ = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Variables used in a RULES pragma, optionally annotated with types+data RuleVar l+ = RuleVar l (Name l)+ | TypedRuleVar l (Name l) (Type l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | Warning text to optionally use in the module header of e.g.+-- a deprecated module.+data WarningText l+ = DeprText l String+ | WarnText l String+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+++-- | A pattern, to be matched against a value.+data Pat l+ = PVar l (Name l) -- ^ variable+ | PLit l (Sign l) (Literal l) -- ^ literal constant+ | PNPlusK l (Name l) Integer -- ^ n+k pattern+ | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor+ | PApp l (QName l) [Pat l] -- ^ data constructor and argument patterns+ | PTuple l Boxed [Pat l] -- ^ tuple pattern+ | PUnboxedSum l Int Int (Pat l) -- ^ unboxed sum+ | PList l [Pat l] -- ^ list pattern+ | PParen l (Pat l) -- ^ parenthesized pattern+ | PRec l (QName l) [PatField l] -- ^ labelled pattern, record style+ | PAsPat l (Name l) (Pat l) -- ^ @\@@-pattern+ | PWildCard l -- ^ wildcard pattern: @_@+ | PIrrPat l (Pat l) -- ^ irrefutable pattern: @~/pat/@+ | PatTypeSig l (Pat l) (Type l) -- ^ pattern with type signature+ | PViewPat l (Exp l) (Pat l) -- ^ view patterns of the form @(/exp/ -> /pat/)@+ | PRPat l [RPat l] -- ^ regular list pattern+ | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]+ -- ^ XML element pattern+ | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))+ -- ^ XML singleton element pattern+ | PXPcdata l String -- ^ XML PCDATA pattern+ | PXPatTag l (Pat l) -- ^ XML embedded pattern+ | PXRPats l [RPat l] -- ^ XML regular list pattern+ | PSplice l (Splice l) -- ^ template haskell splice pattern+ | PQuasiQuote l String String -- ^ quasi quote pattern: @[$/name/| /string/ |]@+ | PBangPat l (Pat l) -- ^ strict (bang) pattern: @f !x = ...@+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An XML attribute in a pattern.+data PXAttr l = PXAttr l (XName l) (Pat l)+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A regular pattern operator.+data RPatOp l+ = RPStar l -- ^ @*@ = 0 or more+ | RPStarG l -- ^ @*!@ = 0 or more, greedy+ | RPPlus l -- ^ @+@ = 1 or more+ | RPPlusG l -- ^ @+!@ = 1 or more, greedy+ | RPOpt l -- ^ @?@ = 0 or 1+ | RPOptG l -- ^ @?!@ = 0 or 1, greedy+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An entity in a regular pattern.+data RPat l+ = RPOp l (RPat l) (RPatOp l) -- ^ operator pattern, e.g. pat*+ | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)+ | RPSeq l [RPat l] -- ^ sequence pattern, e.g. (| 1, 2, 3 |)+ | RPGuard l (Pat l) [Stmt l] -- ^ guarded pattern, e.g. (| p | p < 3 |)+ | RPCAs l (Name l) (RPat l) -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*+ | RPAs l (Name l) (RPat l) -- ^ linear variable binding, e.g. foo\@(1 | 2)+ | RPParen l (RPat l) -- ^ parenthesised pattern, e.g. (2*)+ | RPPat l (Pat l) -- ^ an ordinary pattern+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /fpat/ in a labeled record pattern.+data PatField l+ = PFieldPat l (QName l) (Pat l) -- ^ ordinary label-pattern pair+ | PFieldPun l (QName l) -- ^ record field pun+ | PFieldWildcard l -- ^ record field wildcard+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A statement, representing both a /stmt/ in a @do@-expression,+-- an ordinary /qual/ in a list comprehension, as well as a /stmt/+-- in a pattern guard.+data Stmt l+ = Generator l (Pat l) (Exp l)+ -- ^ a generator: /pat/ @<-@ /exp/+ | Qualifier l (Exp l) -- ^ an /exp/ by itself: in a @do@-expression,+ -- an action whose result is discarded;+ -- in a list comprehension and pattern guard,+ -- a guard expression+ | LetStmt l (Binds l) -- ^ local bindings+ | RecStmt l [Stmt l] -- ^ a recursive binding group for arrows+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | A general /transqual/ in a list comprehension,+-- which could potentially be a transform of the kind+-- enabled by TransformListComp.+data QualStmt l+ = QualStmt l (Stmt l) -- ^ an ordinary statement+ | ThenTrans l (Exp l) -- ^ @then@ /exp/+ | ThenBy l (Exp l) (Exp l) -- ^ @then@ /exp/ @by@ /exp/+ | GroupBy l (Exp l) -- ^ @then@ @group@ @by@ /exp/+ | GroupUsing l (Exp l) -- ^ @then@ @group@ @using@ /exp/+ | GroupByUsing l (Exp l) (Exp l) -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /fbind/ in a labeled construction or update expression.+data FieldUpdate l+ = FieldUpdate l (QName l) (Exp l) -- ^ ordinary label-expresion pair+ | FieldPun l (QName l) -- ^ record field pun+ | FieldWildcard l -- ^ record field wildcard+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-- | An /alt/ alternative in a @case@ expression.+data Alt l+ = Alt l (Pat l) (Rhs l) (Maybe (Binds l))+ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)++-----------------------------------------------------------------------------+-- Builtin names.++prelude_mod, main_mod :: l -> ModuleName l+prelude_mod l = ModuleName l "Prelude"+main_mod l = ModuleName l "Main"++main_name :: l -> Name l+main_name l = Ident l "main"++unit_con_name :: l -> QName l+unit_con_name l = Special l (UnitCon l)++tuple_con_name :: l -> Boxed -> Int -> QName l+tuple_con_name l b i = Special l (TupleCon l b (i+1))++list_con_name :: l -> QName l+list_con_name l = Special l (ListCon l)++list_cons_name :: l -> QName l+list_cons_name l = Special l (Cons l)++unboxed_singleton_con_name :: l -> QName l+unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)++unit_con :: l -> Exp l+unit_con l = Con l $ unit_con_name l++tuple_con :: l -> Boxed -> Int -> Exp l+tuple_con l b i = Con l (tuple_con_name l b i)++unboxed_singleton_con :: l -> Exp l+unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)++as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l+as_name l = Ident l "as"+qualified_name l = Ident l "qualified"+hiding_name l = Ident l "hiding"+minus_name l = Symbol l "-"+bang_name l = Symbol l "!"+dot_name l = Symbol l "."+star_name l = Symbol l "*"++hole_name :: l -> QName l+hole_name l = Special l (ExprHole l)++export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name,+ stdcall_name, ccall_name, cplusplus_name, dotnet_name,+ jvm_name, js_name, javascript_name, capi_name, forall_name,+ family_name, role_name, stock_name, anyclass_name, via_name :: l -> Name l+export_name l = Ident l "export"+safe_name l = Ident l "safe"+unsafe_name l = Ident l "unsafe"+interruptible_name l = Ident l "interruptible"+threadsafe_name l = Ident l "threadsafe"+stdcall_name l = Ident l "stdcall"+ccall_name l = Ident l "ccall"+cplusplus_name l = Ident l "cplusplus"+dotnet_name l = Ident l "dotnet"+jvm_name l = Ident l "jvm"+js_name l = Ident l "js"+javascript_name l = Ident l "javascript"+capi_name l = Ident l "capi"+forall_name l = Ident l "forall"+family_name l = Ident l "family"+role_name l = Ident l "role"+stock_name l = Ident l "stock"+anyclass_name l = Ident l "anyclass"+via_name l = Ident l "via"++unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l+unit_tycon_name l = unit_con_name l+fun_tycon_name l = Special l (FunCon l)+list_tycon_name l = Special l (ListCon l)+unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)++tuple_tycon_name :: l -> Boxed -> Int -> QName l+tuple_tycon_name l b i = tuple_con_name l b i++unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l+unit_tycon l = TyCon l $ unit_tycon_name l+fun_tycon l = TyCon l $ fun_tycon_name l+list_tycon l = TyCon l $ list_tycon_name l+unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l++tuple_tycon :: l -> Boxed -> Int -> Type l+tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)++-----------------------------------------------------------------------------+-- AST traversal, boiler-plate style++-- | Test if two AST elements are equal modulo annotations.+(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool+a =~= b = fmap (const ()) a == fmap (const ()) b++-----------------------------------------------------------------------------+-- Reading annotations++-- | AST nodes are annotated, and this class allows manipulation of the annotations.+class Functor ast => Annotated ast where+ -- | Retrieve the annotation of an AST node.+ ann :: ast l -> l+ -- | Change the annotation of an AST node. Note that only the annotation of+ -- the node itself is affected, and not the annotations of any child nodes.+ -- if all nodes in the AST tree are to be affected, use 'fmap'.+ amap :: (l -> l) -> ast l -> ast l++instance Annotated ModuleName where+ ann (ModuleName l _) = l+ amap f (ModuleName l n) = ModuleName (f l) n++instance Annotated SpecialCon where+ ann sc = case sc of+ UnitCon l -> l+ ListCon l -> l+ FunCon l -> l+ TupleCon l _ _ -> l+ Cons l -> l+ UnboxedSingleCon l -> l+ ExprHole l -> l+ amap = fmap++instance Annotated QName where+ ann qn = case qn of+ Qual l _ _ -> l+ UnQual l _ -> l+ Special l _ -> l+ amap f qn = case qn of+ Qual l mn n -> Qual (f l) mn n+ UnQual l n -> UnQual (f l) n+ Special l sc -> Special (f l) sc++instance Annotated Name where+ ann (Ident l _) = l+ ann (Symbol l _) = l+ amap = fmap++instance Annotated IPName where+ ann (IPDup l _) = l+ ann (IPLin l _) = l+ amap = fmap++instance Annotated QOp where+ ann (QVarOp l _) = l+ ann (QConOp l _) = l+ amap f (QVarOp l qn) = QVarOp (f l) qn+ amap f (QConOp l qn) = QConOp (f l) qn++instance Annotated Op where+ ann (VarOp l _) = l+ ann (ConOp l _) = l+ amap f (VarOp l n) = VarOp (f l) n+ amap f (ConOp l n) = ConOp (f l) n++instance Annotated CName where+ ann (VarName l _) = l+ ann (ConName l _) = l+ amap f (VarName l n) = VarName (f l) n+ amap f (ConName l n) = ConName (f l) n++instance Annotated Module where+ ann (Module l _ _ _ _) = l+ ann (XmlPage l _ _ _ _ _ _) = l+ ann (XmlHybrid l _ _ _ _ _ _ _ _) = l++ amap f (Module l mmh ops iss dcls) =+ Module (f l) mmh ops iss dcls+ amap f (XmlPage l mn os xn xas me es) =+ XmlPage (f l) mn os xn xas me es+ amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =+ XmlHybrid (f l) mmh ops iss dcls xn xas me es++instance Annotated ModuleHead where+ ann (ModuleHead l _ _ _) = l+ amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl++instance Annotated ExportSpecList where+ ann (ExportSpecList l _) = l+ amap f (ExportSpecList l ess) = ExportSpecList (f l) ess++instance Annotated ExportSpec where+ ann es = case es of+ EVar l _ -> l+ EAbs l _ _ -> l+ EThingWith l _ _ _ -> l+ EModuleContents l _ -> l+ amap f es = case es of+ EVar l qn -> EVar (f l) qn+ EAbs l n qn -> EAbs (f l) n qn+ EThingWith l wc qn cns -> EThingWith (f l) wc qn cns+ EModuleContents l mn -> EModuleContents (f l) mn++instance Annotated EWildcard where+ ann ewc = case ewc of+ NoWildcard l -> l+ EWildcard l _ -> l+ amap f ewc = case ewc of+ NoWildcard l -> NoWildcard (f l)+ EWildcard l n -> EWildcard (f l) n++++instance Annotated Namespace where+ ann es = case es of+ NoNamespace l -> l+ TypeNamespace l -> l+ PatternNamespace l -> l+ amap f es = case es of+ NoNamespace l -> NoNamespace (f l)+ TypeNamespace l -> TypeNamespace (f l)+ PatternNamespace l -> PatternNamespace (f l)++instance Annotated ImportDecl where+ ann (ImportDecl l _ _ _ _ _ _ _) = l+ amap f (ImportDecl l mn qual src safe pkg mmn mis) =+ ImportDecl (f l) mn qual src safe pkg mmn mis++instance Annotated ImportSpecList where+ ann (ImportSpecList l _ _) = l+ amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss++instance Annotated ImportSpec where+ ann is = case is of+ IVar l _ -> l+ IAbs l _ _ -> l+ IThingAll l _ -> l+ IThingWith l _ _ -> l+ amap f is = case is of+ IVar l n -> IVar (f l) n+ IAbs l ns n -> IAbs (f l) ns n+ IThingAll l n -> IThingAll (f l) n+ IThingWith l n cns -> IThingWith (f l) n cns++instance Annotated Assoc where+ ann (AssocNone l) = l+ ann (AssocLeft l) = l+ ann (AssocRight l) = l+ amap = fmap++instance Annotated Deriving where+ ann (Deriving l _ _) = l+ amap f (Deriving l mds ihs) = Deriving (f l) mds ihs++instance Annotated DerivStrategy where+ ann (DerivStock l) = l+ ann (DerivAnyclass l) = l+ ann (DerivNewtype l) = l+ ann (DerivVia l _) = l++ amap f (DerivStock l) = DerivStock (f l)+ amap f (DerivAnyclass l) = DerivAnyclass (f l)+ amap f (DerivNewtype l) = DerivNewtype (f l)+ amap f (DerivVia l t) = DerivVia (f l) t++instance Annotated TypeEqn where+ ann (TypeEqn l _ _) = l+ amap f (TypeEqn l a b) = TypeEqn (f l) a b++instance Annotated InjectivityInfo where+ ann (InjectivityInfo l _ _) = l+ amap f (InjectivityInfo l to from) = InjectivityInfo (f l) to from++instance Annotated ResultSig where+ ann (KindSig l _) = l+ ann (TyVarSig l _) = l++ amap f (KindSig l k) = KindSig (f l) k+ amap f (TyVarSig l tv) = TyVarSig (f l) tv++instance Annotated Decl where+ ann decl = case decl of+ TypeDecl l _ _ -> l+ TypeFamDecl l _ _ _ -> l+ ClosedTypeFamDecl l _ _ _ _ -> l+ DataDecl l _ _ _ _ _ -> l+ GDataDecl l _ _ _ _ _ _ -> l+ DataFamDecl l _ _ _ -> l+ TypeInsDecl l _ _ -> l+ DataInsDecl l _ _ _ _ -> l+ GDataInsDecl l _ _ _ _ _ -> l+ ClassDecl l _ _ _ _ -> l+ InstDecl l _ _ _ -> l+ DerivDecl l _ _ _ -> l+ InfixDecl l _ _ _ -> l+ DefaultDecl l _ -> l+ SpliceDecl l _ -> l+ TSpliceDecl l _ -> l+ TypeSig l _ _ -> l+ PatSynSig l _ _ _ _ _ _ -> l+ FunBind l _ -> l+ PatBind l _ _ _ -> l+ ForImp l _ _ _ _ _ -> l+ ForExp l _ _ _ _ -> l+ RulePragmaDecl l _ -> l+ DeprPragmaDecl l _ -> l+ WarnPragmaDecl l _ -> l+ InlineSig l _ _ _ -> l+ InlineConlikeSig l _ _ -> l+ SpecSig l _ _ _ -> l+ SpecInlineSig l _ _ _ _ -> l+ InstSig l _ -> l+ AnnPragma l _ -> l+ MinimalPragma l _ -> l+ RoleAnnotDecl l _ _ -> l+ PatSyn l _ _ _ -> l+ CompletePragma l _ _ -> l+ amap f decl = case decl of+ TypeDecl l dh t -> TypeDecl (f l) dh t+ TypeFamDecl l dh mk mi -> TypeFamDecl (f l) dh mk mi+ ClosedTypeFamDecl l dh mk mi eqns -> ClosedTypeFamDecl (f l) dh mk mi eqns+ DataDecl l dn mcx dh cds ders ->+ DataDecl (f l) dn mcx dh cds ders+ GDataDecl l dn mcx dh mk gds ders ->+ GDataDecl (f l) dn mcx dh mk gds ders+ DataFamDecl l mcx dh mk -> DataFamDecl (f l) mcx dh mk+ TypeInsDecl l t1 t2 -> TypeInsDecl (f l) t1 t2+ DataInsDecl l dn t cds ders -> DataInsDecl (f l) dn t cds ders+ GDataInsDecl l dn t mk gds ders -> GDataInsDecl (f l) dn t mk gds ders+ ClassDecl l mcx dh fds cds -> ClassDecl (f l) mcx dh fds cds+ InstDecl l mo ih ids -> InstDecl (f l) mo ih ids+ DerivDecl l mds mo ih -> DerivDecl (f l) mds mo ih+ InfixDecl l a k ops -> InfixDecl (f l) a k ops+ DefaultDecl l ts -> DefaultDecl (f l) ts+ SpliceDecl l sp -> SpliceDecl (f l) sp+ TSpliceDecl l sp -> TSpliceDecl (f l) sp+ TypeSig l ns t -> TypeSig (f l) ns t+ PatSynSig l n dh c1 dh2 c2 t -> PatSynSig (f l) n dh c1 dh2 c2 t+ FunBind l ms -> FunBind (f l) ms+ PatBind l p rhs bs -> PatBind (f l) p rhs bs+ ForImp l cc msf s n t -> ForImp (f l) cc msf s n t+ ForExp l cc s n t -> ForExp (f l) cc s n t+ RulePragmaDecl l rs -> RulePragmaDecl (f l) rs+ DeprPragmaDecl l nss -> DeprPragmaDecl (f l) nss+ WarnPragmaDecl l nss -> WarnPragmaDecl (f l) nss+ InlineSig l b act qn -> InlineSig (f l) b act qn+ InlineConlikeSig l act qn -> InlineConlikeSig (f l) act qn+ SpecSig l act qn ts -> SpecSig (f l) act qn ts+ SpecInlineSig l b act qn ts -> SpecInlineSig (f l) b act qn ts+ InstSig l ih -> InstSig (f l) ih+ AnnPragma l ann' -> AnnPragma (f l) ann'+ MinimalPragma l b -> MinimalPragma (f l) b+ RoleAnnotDecl l t rs -> RoleAnnotDecl (f l) t rs+ PatSyn l p r d -> PatSyn (f l) p r d+ CompletePragma l cs ty -> CompletePragma (f l) cs ty++instance Annotated Role where+ ann r = case r of+ RoleWildcard l -> l+ Representational l -> l+ Phantom l -> l+ Nominal l -> l+ amap f r = case r of+ RoleWildcard l -> RoleWildcard (f l)+ Representational l -> Representational (f l)+ Phantom l -> Phantom (f l)+ Nominal l -> Nominal (f l)++instance Annotated Annotation where+ ann (Ann l _ _) = l+ ann (TypeAnn l _ _) = l+ ann (ModuleAnn l _) = l+ amap f (Ann l n e) = Ann (f l) n e+ amap f (TypeAnn l n e) = TypeAnn (f l) n e+ amap f (ModuleAnn l e) = ModuleAnn (f l) e++instance Annotated BooleanFormula where+ ann (VarFormula l _) = l+ ann (AndFormula l _) = l+ ann (OrFormula l _) = l+ ann (ParenFormula l _) = l+ amap f (VarFormula l n) = VarFormula (f l) n+ amap f (AndFormula l bs) = AndFormula (f l) bs+ amap f (OrFormula l bs) = OrFormula (f l) bs+ amap f (ParenFormula l b) = ParenFormula (f l) b++instance Annotated DataOrNew where+ ann (DataType l) = l+ ann (NewType l) = l+ amap = fmap++instance Annotated DeclHead where+ ann (DHead l _) = l+ ann (DHInfix l _ _) = l+ ann (DHParen l _) = l+ ann (DHApp l _ _) = l+ amap f (DHead l n) = DHead (f l) n+ amap f (DHInfix l tva n) = DHInfix (f l) tva n+ amap f (DHParen l dh) = DHParen (f l) dh+ amap f (DHApp l dh t) = DHApp (f l) dh t++instance Annotated InstRule where+ ann (IRule l _ _ _) = l+ ann (IParen l _) = l+ amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn+ amap f (IParen l ih) = IParen (f l) ih++instance Annotated InstHead where+ ann (IHCon l _) = l+ ann (IHInfix l _ _) = l+ ann (IHParen l _) = l+ ann (IHApp l _ _) = l+ amap f (IHCon l n) = IHCon (f l) n+ amap f (IHInfix l tva n) = IHInfix (f l) tva n+ amap f (IHParen l dh) = IHParen (f l) dh+ amap f (IHApp l dh t) = IHApp (f l) dh t++instance Annotated Binds where+ ann (BDecls l _) = l+ ann (IPBinds l _) = l+ amap f (BDecls l decls) = BDecls (f l) decls+ amap f (IPBinds l ibs) = IPBinds (f l) ibs++instance Annotated IPBind where+ ann (IPBind l _ _) = l+ amap f (IPBind l ipn e) = IPBind (f l) ipn e++instance Annotated Match where+ ann (Match l _ _ _ _) = l+ ann (InfixMatch l _ _ _ _ _) = l+ amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs+ amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs++instance Annotated QualConDecl where+ ann (QualConDecl l _ _ _) = l+ amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd++instance Annotated ConDecl where+ ann (ConDecl l _ _) = l+ ann (InfixConDecl l _ _ _) = l+ ann (RecDecl l _ _) = l+ amap f (ConDecl l n bts) = ConDecl (f l) n bts+ amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb+ amap f (RecDecl l n fds) = RecDecl (f l) n fds++instance Annotated FieldDecl where+ ann (FieldDecl l _ _) = l+ amap f (FieldDecl l ns t) = FieldDecl (f l) ns t++instance Annotated GadtDecl where+ ann (GadtDecl l _ _ _ _ _) = l+ amap f (GadtDecl l n t1 t2 t3 t4) = GadtDecl (f l) n t1 t2 t3 t4++instance Annotated ClassDecl where+ ann (ClsDecl l _) = l+ ann (ClsDataFam l _ _ _) = l+ ann (ClsTyFam l _ _ _) = l+ ann (ClsTyDef l _) = l+ ann (ClsDefSig l _ _) = l+ amap f (ClsDecl l d) = ClsDecl (f l) d+ amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk+ amap f (ClsTyFam l dh mk mi) = ClsTyFam (f l) dh mk mi+ amap f (ClsTyDef l t ) = ClsTyDef (f l) t+ amap f (ClsDefSig l n t) = ClsDefSig (f l) n t++instance Annotated InstDecl where+ ann id = case id of+ InsDecl l _ -> l+ InsType l _ _ -> l+ InsData l _ _ _ _ -> l+ InsGData l _ _ _ _ _ -> l+-- InsInline l _ _ _ -> l+ amap f id = case id of+ InsDecl l d -> InsDecl (f l) d+ InsType l t1 t2 -> InsType (f l) t1 t2+ InsData l dn t cds ders -> InsData (f l) dn t cds ders+ InsGData l dn t mk gds ders -> InsGData (f l) dn t mk gds ders+-- InsInline l b act qn -> InsInline (f l) b act qn++instance Annotated BangType where+ ann (BangedTy l) = l+ ann (LazyTy l) = l+ ann (NoStrictAnnot l) = l++ amap f (BangedTy l) = BangedTy (f l)+ amap f (LazyTy l) = LazyTy (f l)+ amap f (NoStrictAnnot l) = NoStrictAnnot (f l)++instance Annotated Unpackedness where+ ann (Unpack l) = l+ ann (NoUnpack l) = l+ ann (NoUnpackPragma l) = l++ amap f (Unpack l) = Unpack (f l)+ amap f (NoUnpack l) = Unpack (f l)+ amap f (NoUnpackPragma l) = Unpack (f l)++instance Annotated Rhs where+ ann (UnGuardedRhs l _) = l+ ann (GuardedRhss l _) = l+ amap f (UnGuardedRhs l e) = UnGuardedRhs (f l) e+ amap f (GuardedRhss l grhss) = GuardedRhss (f l) grhss++instance Annotated GuardedRhs where+ ann (GuardedRhs l _ _) = l+ amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e++instance Annotated Type where+ ann t = case t of+ TyForall l _ _ _ -> l+ TyStar l -> l+ TyFun l _ _ -> l+ TyTuple l _ _ -> l+ TyUnboxedSum l _ -> l+ TyList l _ -> l+ TyParArray l _ -> l+ TyApp l _ _ -> l+ TyVar l _ -> l+ TyCon l _ -> l+ TyParen l _ -> l+ TyInfix l _ _ _ -> l+ TyKind l _ _ -> l+ TyPromoted l _ -> l+ TyEquals l _ _ -> l+ TySplice l _ -> l+ TyBang l _ _ _ -> l+ TyWildCard l _ -> l+ TyQuasiQuote l _ _ -> l+ amap f t1 = case t1 of+ TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t+ TyStar l -> TyStar (f l)+ TyFun l t1' t2 -> TyFun (f l) t1' t2+ TyTuple l b ts -> TyTuple (f l) b ts+ TyUnboxedSum l s -> TyUnboxedSum (f l) s+ TyList l t -> TyList (f l) t+ TyParArray l t -> TyParArray (f l) t+ TyApp l t1' t2 -> TyApp (f l) t1' t2+ TyVar l n -> TyVar (f l) n+ TyCon l qn -> TyCon (f l) qn+ TyParen l t -> TyParen (f l) t+ TyInfix l ta qn tb -> TyInfix (f l) ta qn tb+ TyKind l t k -> TyKind (f l) t k+ TyPromoted l p -> TyPromoted (f l) p+ TyEquals l a b -> TyEquals (f l) a b+ TySplice l s -> TySplice (f l) s+ TyBang l b u t -> TyBang (f l) b u t+ TyWildCard l n -> TyWildCard (f l) n+ TyQuasiQuote l n s -> TyQuasiQuote (f l) n s++instance Annotated MaybePromotedName where+ ann t = case t of+ PromotedName l _ -> l+ UnpromotedName l _ -> l+ amap f tl = case tl of+ PromotedName l q -> PromotedName (f l) q+ UnpromotedName l q -> UnpromotedName (f l) q++instance Annotated TyVarBind where+ ann (KindedVar l _ _) = l+ ann (UnkindedVar l _) = l+ amap f (KindedVar l n k) = KindedVar (f l) n k+ amap f (UnkindedVar l n) = UnkindedVar (f l) n++instance Annotated FunDep where+ ann (FunDep l _ _) = l+ amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2++instance Annotated Context where+ ann (CxSingle l _) = l+ ann (CxTuple l _) = l+ ann (CxEmpty l) = l+ amap f (CxSingle l asst ) = CxSingle (f l) asst+ amap f (CxTuple l assts) = CxTuple (f l) assts+ amap f (CxEmpty l) = CxEmpty (f l)++instance Annotated Asst where+ ann asst = case asst of+ TypeA l _ -> l+ IParam l _ _ -> l+ ParenA l _ -> l+ amap f asst = case asst of+ TypeA l t -> TypeA (f l) t+ IParam l ipn t -> IParam (f l) ipn t+ ParenA l a -> ParenA (f l) a++instance Annotated Literal where+ ann lit = case lit of+ Char l _ _ -> l+ String l _ _ -> l+ Int l _ _ -> l+ Frac l _ _ -> l+ PrimInt l _ _ -> l+ PrimWord l _ _ -> l+ PrimFloat l _ _ -> l+ PrimDouble l _ _ -> l+ PrimChar l _ _ -> l+ PrimString l _ _ -> l+ amap = fmap++instance Annotated Sign where+ ann sg = case sg of+ Signless l -> l+ Negative l -> l+ amap = fmap++instance Annotated Exp where+ ann e = case e of+ Var l _ -> l+ OverloadedLabel l _ -> l+ IPVar l _ -> l+ Con l _ -> l+ Lit l _ -> l+ InfixApp l _ _ _ -> l+ App l _ _ -> l+ NegApp l _ -> l+ Lambda l _ _ -> l+ Let l _ _ -> l+ If l _ _ _ -> l+ MultiIf l _ -> l+ Case l _ _ -> l+ Do l _ -> l+ MDo l _ -> l+ Tuple l _ _ -> l+ UnboxedSum l _ _ _ -> l+ TupleSection l _ _ -> l+ List l _ -> l+ ParArray l _ -> l+ Paren l _ -> l+ LeftSection l _ _ -> l+ RightSection l _ _ -> l+ RecConstr l _ _ -> l+ RecUpdate l _ _ -> l+ EnumFrom l _ -> l+ EnumFromTo l _ _ -> l+ EnumFromThen l _ _ -> l+ EnumFromThenTo l _ _ _ -> l+ ParArrayFromTo l _ _ -> l+ ParArrayFromThenTo l _ _ _ -> l+ ListComp l _ _ -> l+ ParComp l _ _ -> l+ ParArrayComp l _ _ -> l+ ExpTypeSig l _ _ -> l+ VarQuote l _ -> l+ TypQuote l _ -> l+ BracketExp l _ -> l+ SpliceExp l _ -> l+ QuasiQuote l _ _ -> l+ TypeApp l _ -> l++ XTag l _ _ _ _ -> l+ XETag l _ _ _ -> l+ XPcdata l _ -> l+ XExpTag l _ -> l+ XChildTag l _ -> l++ CorePragma l _ _ -> l+ SCCPragma l _ _ -> l+ GenPragma l _ _ _ _ -> l++ Proc l _ _ -> l+ LeftArrApp l _ _ -> l+ RightArrApp l _ _ -> l+ LeftArrHighApp l _ _ -> l+ RightArrHighApp l _ _ -> l+ ArrOp l _ -> l++ LCase l _ -> l++ amap f e1 = case e1 of+ Var l qn -> Var (f l) qn+ OverloadedLabel l qn -> OverloadedLabel (f l) qn+ IPVar l ipn -> IPVar (f l) ipn+ Con l qn -> Con (f l) qn+ Lit l lit -> Lit (f l) lit+ InfixApp l e1' qop e2 -> InfixApp (f l) e1' qop e2+ App l e1' e2 -> App (f l) e1' e2+ NegApp l e -> NegApp (f l) e+ Lambda l ps e -> Lambda (f l) ps e+ Let l bs e -> Let (f l) bs e+ If l ec et ee -> If (f l) ec et ee+ Case l e alts -> Case (f l) e alts+ Do l ss -> Do (f l) ss+ MDo l ss -> MDo (f l) ss+ Tuple l bx es -> Tuple (f l) bx es+ UnboxedSum l b a es -> UnboxedSum (f l) b a es+ TupleSection l bx mes -> TupleSection (f l) bx mes+ List l es -> List (f l) es+ ParArray l es -> ParArray (f l) es+ Paren l e -> Paren (f l) e+ LeftSection l e qop -> LeftSection (f l) e qop+ RightSection l qop e -> RightSection (f l) qop e+ RecConstr l qn fups -> RecConstr (f l) qn fups+ RecUpdate l e fups -> RecUpdate (f l) e fups+ EnumFrom l e -> EnumFrom (f l) e+ EnumFromTo l ef et -> EnumFromTo (f l) ef et+ EnumFromThen l ef et -> EnumFromThen (f l) ef et+ EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto+ ParArrayFromTo l ef et -> ParArrayFromTo (f l) ef et+ ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto+ ListComp l e qss -> ListComp (f l) e qss+ ParComp l e qsss -> ParComp (f l) e qsss+ ParArrayComp l e qsss -> ParArrayComp (f l) e qsss+ ExpTypeSig l e t -> ExpTypeSig (f l) e t+ VarQuote l qn -> VarQuote (f l) qn+ TypQuote l qn -> TypQuote (f l) qn+ BracketExp l br -> BracketExp (f l) br+ SpliceExp l sp -> SpliceExp (f l) sp+ QuasiQuote l sn se -> QuasiQuote (f l) sn se+ TypeApp l t -> TypeApp (f l) t++ XTag l xn xas me es -> XTag (f l) xn xas me es+ XETag l xn xas me -> XETag (f l) xn xas me+ XPcdata l s -> XPcdata (f l) s+ XExpTag l e -> XExpTag (f l) e+ XChildTag l es -> XChildTag (f l) es++ CorePragma l s e -> CorePragma (f l) s e+ SCCPragma l s e -> SCCPragma (f l) s e+ GenPragma l s n12 n34 e -> GenPragma (f l) s n12 n34 e++ Proc l p e -> Proc (f l) p e+ LeftArrApp l e1' e2 -> LeftArrApp (f l) e1' e2+ RightArrApp l e1' e2 -> RightArrApp (f l) e1' e2+ LeftArrHighApp l e1' e2 -> LeftArrHighApp (f l) e1' e2+ RightArrHighApp l e1' e2 -> RightArrHighApp (f l) e1' e2+ ArrOp l e -> ArrOp (f l) e++ LCase l alts -> LCase (f l) alts+ MultiIf l alts -> MultiIf (f l) alts+++instance Annotated XName where+ ann (XName l _) = l+ ann (XDomName l _ _) = l+ amap = fmap++instance Annotated XAttr where+ ann (XAttr l _ _) = l+ amap f (XAttr l xn e) = XAttr (f l) xn e++instance Annotated Bracket where+ ann (ExpBracket l _) = l+ ann (TExpBracket l _) = l+ ann (PatBracket l _) = l+ ann (TypeBracket l _) = l+ ann (DeclBracket l _) = l+ amap f (ExpBracket l e) = ExpBracket (f l) e+ amap f (TExpBracket l e) = TExpBracket (f l) e+ amap f (PatBracket l p) = PatBracket (f l) p+ amap f (TypeBracket l t) = TypeBracket (f l) t+ amap f (DeclBracket l ds) = DeclBracket (f l) ds++instance Annotated Splice where+ ann (IdSplice l _) = l+ ann (TIdSplice l _) = l+ ann (ParenSplice l _) = l+ ann (TParenSplice l _) = l+ amap f (IdSplice l s) = IdSplice (f l) s+ amap f (TIdSplice l s) = TIdSplice (f l) s+ amap f (ParenSplice l e) = ParenSplice (f l) e+ amap f (TParenSplice l e) = TParenSplice (f l) e++instance Annotated Safety where+ ann (PlayRisky l) = l+ ann (PlaySafe l _) = l+ ann (PlayInterruptible l) = l+ amap = fmap++instance Annotated CallConv where+ ann (StdCall l) = l+ ann (CCall l) = l+ ann (CPlusPlus l) = l+ ann (DotNet l) = l+ ann (Jvm l) = l+ ann (Js l) = l+ ann (JavaScript l) = l+ ann (CApi l) = l+ amap = fmap++instance Annotated ModulePragma where+ ann (LanguagePragma l _) = l+ ann (OptionsPragma l _ _) = l+ ann (AnnModulePragma l _) = l+ amap f (LanguagePragma l ns) = LanguagePragma (f l) ns+ amap f (AnnModulePragma l a) = AnnModulePragma (f l) a+ amap f p = fmap f p++instance Annotated Overlap where+ ann (NoOverlap l) = l+ ann (Overlap l) = l+ ann (Overlaps l) = l+ ann (Overlappable l) = l+ ann (Overlapping l) = l+ ann (Incoherent l) = l+ amap = fmap++instance Annotated Activation where+ ann (ActiveFrom l _) = l+ ann (ActiveUntil l _) = l+ amap = fmap++instance Annotated Rule where+ ann (Rule l _ _ _ _ _) = l+ amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2++instance Annotated RuleVar where+ ann (RuleVar l _) = l+ ann (TypedRuleVar l _ _) = l+ amap f (RuleVar l n) = RuleVar (f l) n+ amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t++instance Annotated WarningText where+ ann (DeprText l _) = l+ ann (WarnText l _) = l+ amap = fmap++instance Annotated Pat where+ ann p = case p of+ PVar l _ -> l+ PLit l _ _ -> l+ PNPlusK l _ _ -> l+ PInfixApp l _ _ _ -> l+ PApp l _ _ -> l+ PTuple l _ _ -> l+ PUnboxedSum l _ _ _ -> l+ PList l _ -> l+ PParen l _ -> l+ PRec l _ _ -> l+ PAsPat l _ _ -> l+ PWildCard l -> l+ PIrrPat l _ -> l+ PatTypeSig l _ _ -> l+ PViewPat l _ _ -> l+ PRPat l _ -> l+ PXTag l _ _ _ _ -> l+ PXETag l _ _ _ -> l+ PXPcdata l _ -> l+ PXPatTag l _ -> l+ PXRPats l _ -> l+ PSplice l _ -> l+ PQuasiQuote l _ _ -> l+ PBangPat l _ -> l+ amap f p1 = case p1 of+ PVar l n -> PVar (f l) n+ PLit l sg lit -> PLit (f l) sg lit+ PNPlusK l n k -> PNPlusK (f l) n k+ PInfixApp l pa qn pb -> PInfixApp (f l) pa qn pb+ PApp l qn ps -> PApp (f l) qn ps+ PTuple l bx ps -> PTuple (f l) bx ps+ PUnboxedSum l b a ps -> PUnboxedSum (f l) b a ps+ PList l ps -> PList (f l) ps+ PParen l p -> PParen (f l) p+ PRec l qn pfs -> PRec (f l) qn pfs+ PAsPat l n p -> PAsPat (f l) n p+ PWildCard l -> PWildCard (f l)+ PIrrPat l p -> PIrrPat (f l) p+ PatTypeSig l p t -> PatTypeSig (f l) p t+ PViewPat l e p -> PViewPat (f l) e p+ PRPat l rps -> PRPat (f l) rps+ PXTag l xn pxas mp ps -> PXTag (f l) xn pxas mp ps+ PXETag l xn pxas mp -> PXETag (f l) xn pxas mp+ PXPcdata l s -> PXPcdata (f l) s+ PXPatTag l p -> PXPatTag (f l) p+ PXRPats l rps -> PXRPats (f l) rps+ PSplice l sp -> PSplice (f l) sp+ PQuasiQuote l sn st -> PQuasiQuote (f l) sn st+ PBangPat l p -> PBangPat (f l) p++instance Annotated PXAttr where+ ann (PXAttr l _ _) = l+ amap f (PXAttr l xn p) = PXAttr (f l) xn p++instance Annotated RPatOp where+ ann (RPStar l) = l+ ann (RPStarG l) = l+ ann (RPPlus l) = l+ ann (RPPlusG l) = l+ ann (RPOpt l) = l+ ann (RPOptG l) = l+ amap = fmap++instance Annotated RPat where+ ann rp = case rp of+ RPOp l _ _ -> l+ RPEither l _ _ -> l+ RPSeq l _ -> l+ RPGuard l _ _ -> l+ RPCAs l _ _ -> l+ RPAs l _ _ -> l+ RPParen l _ -> l+ RPPat l _ -> l+ amap f rp1 = case rp1 of+ RPOp l rp rop -> RPOp (f l) rp rop+ RPEither l rp1' rp2 -> RPEither (f l) rp1' rp2+ RPSeq l rps -> RPSeq (f l) rps+ RPGuard l p ss -> RPGuard (f l) p ss+ RPCAs l n rp -> RPCAs (f l) n rp+ RPAs l n rp -> RPAs (f l) n rp+ RPParen l rp -> RPParen (f l) rp+ RPPat l p -> RPPat (f l) p++instance Annotated PatField where+ ann (PFieldPat l _ _) = l+ ann (PFieldPun l _) = l+ ann (PFieldWildcard l) = l+ amap f (PFieldPat l qn p) = PFieldPat (f l) qn p+ amap f (PFieldPun l n) = PFieldPun (f l) n+ amap f (PFieldWildcard l) = PFieldWildcard (f l)++instance Annotated Stmt where+ ann (Generator l _ _) = l+ ann (Qualifier l _) = l+ ann (LetStmt l _) = l+ ann (RecStmt l _) = l+ amap f (Generator l p e) = Generator (f l) p e+ amap f (Qualifier l e) = Qualifier (f l) e+ amap f (LetStmt l bs) = LetStmt (f l) bs+ amap f (RecStmt l ss) = RecStmt (f l) ss++instance Annotated QualStmt where+ ann (QualStmt l _) = l+ ann (ThenTrans l _) = l+ ann (ThenBy l _ _) = l+ ann (GroupBy l _) = l+ ann (GroupUsing l _) = l+ ann (GroupByUsing l _ _) = l+ amap f (QualStmt l s) = QualStmt (f l) s+ amap f (ThenTrans l e) = ThenTrans (f l) e+ amap f (ThenBy l e1 e2) = ThenBy (f l) e1 e2+ amap f (GroupBy l e) = GroupBy (f l) e+ amap f (GroupUsing l e) = GroupUsing (f l) e+ amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2++instance Annotated FieldUpdate where+ ann (FieldUpdate l _ _) = l+ ann (FieldPun l _) = l+ ann (FieldWildcard l) = l+ amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e+ amap f (FieldPun l n) = FieldPun (f l) n+ amap f (FieldWildcard l) = FieldWildcard (f l)++instance Annotated Alt where+ ann (Alt l _ _ _) = l+ amap f (Alt l p gs bs) = Alt (f l) p gs bs++instance Annotated Promoted where+ ann (PromotedInteger l _ _) = l+ ann (PromotedString l _ _) = l+ ann (PromotedCon l _ _) = l+ ann (PromotedList l _ _) = l+ ann (PromotedTuple l _) = l+ ann (PromotedUnit l) = l+ amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw+ amap f (PromotedString l str raw) = PromotedString (f l) str raw+ amap f (PromotedCon l b qn) = PromotedCon (f l) b qn+ amap f (PromotedList l b ps) = PromotedList (f l) b ps+ amap f (PromotedTuple l ps) = PromotedTuple (f l) ps+ amap f (PromotedUnit l) = PromotedUnit (f l)
+ src/Language/Preprocessor/Unlit.hs view
@@ -0,0 +1,72 @@+-- | Part of this code is from "Report on the Programming Language Haskell",+-- version 1.2, appendix C.+{-# OPTIONS_GHC -Wwarn #-}+module Language.Preprocessor.Unlit (unlit) where++import Data.Char+import Data.List (isPrefixOf)++data Classified = Program String | Blank | Comment+ | Include Int String | Pre String++classify :: [String] -> [Classified]+classify [] = []+classify (('\\':x):xs) | x == "begin{code}" = Blank : allProg xs+ where allProg [] = [] -- Should give an error message,+ -- but I have no good position information.+ allProg (('\\':y):ys) | "end{code}" `isPrefixOf` y = Blank : classify ys+ allProg (y:ys) = Program y : allProg ys+classify (('>':x):xs) = Program (' ' : x) : classify xs+classify (('#':x):xs) = (case words x of+ (line:rest) | all isDigit line+ -> Include (read line) (unwords rest)+ _ -> Pre x+ ) : classify xs+--classify (x:xs) | "{-# LINE" `isPrefixOf` x = Program x: classify xs+classify (x:xs) | all isSpace x = Blank : classify xs+classify (_:xs) = Comment : classify xs++unclassify :: Classified -> String+unclassify (Program s) = s+unclassify (Pre s) = '#':s+unclassify (Include i f) = '#':' ':show i ++ ' ':f+unclassify Blank = ""+unclassify Comment = ""++-- | 'unlit' takes a filename (for error reports), and transforms the+-- given string, to eliminate the literate comments from the program text.+unlit :: FilePath -> String -> String+unlit file lhs = (unlines+ . map unclassify+ . adjacent file (0::Int) Blank+ . classify) (inlines lhs)++adjacent :: FilePath -> Int -> Classified -> [Classified] -> [Classified]+adjacent file 0 _ (x :xs) = x : adjacent file 1 x xs -- force evaluation of line number+adjacent file n (Program _) (Comment :_ ) = error (message file n "program" "comment")+adjacent _ _ y@(Program _) (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n y@(Program _) (x@(Pre _) :xs) = x: adjacent file (n+1) y xs+adjacent file n Comment ( (Program _) :_ ) = error (message file n "comment" "program")+adjacent _ _ y@Comment (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n y@Comment (x@(Pre _) :xs) = x: adjacent file (n+1) y xs+adjacent _ _ y@Blank (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n y@Blank (x@(Pre _) :xs) = x: adjacent file (n+1) y xs+adjacent file n _ (x :xs) = x: adjacent file (n+1) x xs+adjacent _ _ _ [] = []++message :: String -> Int -> String -> String -> String+message "\"\"" n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"+message [] n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"+message file n p c = "In file " ++ file ++ " at line "++show n++": "++p++ " line before "++c++" line.\n"+++-- Re-implementation of 'lines', for better efficiency (but decreased laziness).+-- Also, importantly, accepts non-standard DOS and Mac line ending characters.+inlines :: String -> [String]+inlines = (`lines'` id)+ where+ lines' [] acc = [acc []]+ lines' ('\^M':'\n':s) acc = acc [] : lines' s id -- DOS+ lines' ('\^M':s) acc = acc [] : lines' s id -- MacOS+ lines' ('\n':s) acc = acc [] : lines' s id -- Unix+ lines' (c:s) acc = lines' s (acc . (c:))
tests/Extensions.hs view
@@ -5,7 +5,7 @@ import Test.Tasty import Test.Tasty.SmallCheck import Test.SmallCheck.Series-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Data.Function import Data.List @@ -22,12 +22,30 @@ (~~) :: Monad m => [Extension] -> [Extension] -> Property m xts1 ~~ xts2 = forAll $ \lang -> ((==) `on` sort . toExtensionList lang) xts1 xts2 +-- arbitrary examples+e1 :: KnownExtension+e1 = OverlappingInstances++e2 :: KnownExtension+e2 = UndecidableInstances+ extensionProperties :: TestTree extensionProperties = localOption (SmallCheckDepth 2) $ testGroup "Properties of LANGUAGE extensions" $ [ testProperty "identity" $ \x -> x ~~ x , testProperty "idempotence" $ \x -> x ++ x ~~ x- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+ -- Actually, let's not exhaustively check n^2 cases+ -- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+ , testProperty "right bias - override to disabled" $+ [EnableExtension e1, DisableExtension e1] ~~ [DisableExtension e1]+ , testProperty "right bias - override to enabled" $+ [DisableExtension e1, EnableExtension e1] ~~ [EnableExtension e1]+ , testProperty "right bias - interleaved override to disabled" $+ [EnableExtension e1, EnableExtension e2, DisableExtension e1]+ ~~ [EnableExtension e2, DisableExtension e1]+ , testProperty "right bias - interleaved override to enabled" $+ [DisableExtension e1, EnableExtension e2, EnableExtension e1]+ ~~ [EnableExtension e2, EnableExtension e1] , testProperty "closedness of implication" $ \x -> impliesExts (impliesExts x) == impliesExts x , testProperty "closedness of toExtensionList" $ \l x -> let es = toExtensionList l x in es == impliesExts es , testProperty "opposite extensions 1" $ \x -> [EnableExtension x, DisableExtension x] ~~ [DisableExtension x]
tests/Runner.hs view
@@ -2,8 +2,7 @@ -- | Use "runhaskell Setup.hs test" or "cabal test" to run these tests. module Main where -import Language.Haskell.Exts.Annotated-import qualified Language.Haskell.Exts as S -- S for "Simple", i.e. not annotated+import Language.Haskell.Exts import Test.Tasty hiding (defaultMain) import Test.Tasty.Golden@@ -12,7 +11,6 @@ import System.IO import Control.Monad.Trans import Control.Applicative-import Data.Generics import Extensions import Text.Show.Pretty @@ -94,7 +92,7 @@ let -- parse mbAst =- S.parseFileContentsWithMode+ parseFileContentsWithMode (defaultParseMode { parseFilename = file }) contents -- try to pretty-print; summarize the test result@@ -117,22 +115,22 @@ contents <- readUTF8File file let -- parse- parse1Result :: ParseResult S.Module+ parse1Result :: ParseResult (Module SrcSpanInfo) parse1Result =- S.parseFileContentsWithMode+ parseFileContentsWithMode (defaultParseMode { parseFilename = file }) contents prettyResult :: ParseResult String prettyResult = prettyPrint <$> parse1Result - parse2Result :: ParseResult (ParseResult S.Module)- parse2Result = S.parseFileContents <$> prettyResult+ parse2Result :: ParseResult (ParseResult (Module SrcSpanInfo))+ parse2Result = parseFileContents <$> prettyResult -- Even the un-annotated AST contains certain locations. -- Obviously, they may differ, so we have to erase them.- eraseLocs :: S.Module -> S.Module- eraseLocs = everywhere $ mkT $ const noLoc+ eraseLocs :: Module l -> Module ()+ eraseLocs = (() <$) summary = case liftA3 (,,) parse1Result prettyResult parse2Result of@@ -160,7 +158,7 @@ commentsTests :: FilePath -> TestTree -- {{{ commentsTests dir = testGroup "Comments tests" $ do- let file = dir </> "HaddockComments.hs"+ let file = dir ++ "/HaddockComments.hs" out = file <.> "comments" <.> "out" golden = file <.> "comments" <.> "golden" run = do@@ -182,7 +180,9 @@ readUTF8File :: FilePath -> IO String readUTF8File fp = openFile fp ReadMode >>= \h -> do hSetEncoding h utf8- hGetContents h+ c <- hGetContents h >>= \s -> length s `seq` return s+ hClose h+ return c parseUTF8FileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) parseUTF8FileWithComments p fp = readUTF8File fp >>= (return . parseFileContentsWithComments p)
tests/examples/AmbiguousFixities.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.parser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
+ tests/examples/ArrowBrackets.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where++foo = proc (x, y) -> (| f (g -< x) |) y++bar = proc (x, y) -> do+ z <- (| f (g -< x) |) y+ (| f (h -< z) |) y
+ tests/examples/ArrowBrackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.parser.golden view
@@ -0,0 +1,541 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 7+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "ArrowBrackets")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 1 21 1 24+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 14 1 20+ , srcInfoPoints = []+ }+ "Arrows"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 40+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 11+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 19 4 21+ ]+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 14 4 15+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 17 4 18+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "y")+ ])+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 40+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 24+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 36 4 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 28+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 34 4 35+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 30 4 32 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "x")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ "y"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 8 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 6 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 6 11+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 19 6 21+ ]+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 14 6 15+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 17 6 18+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y")+ ])+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 6 24+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 3+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 3+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 5 7 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ "z"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 26+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 10+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 22 7 24+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 14+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 20 7 21+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 16 7 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ "x")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ "y"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 5+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 17 8 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 9+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 15 8 16+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 11 8 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "h")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "z")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ "y"))))+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/ArrowBrackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.prettyprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where+foo = proc (x, y) -> (| f (g -< x) |) y+bar+ = proc (x, y) ->+ do z <- (| f (g -< x) |) y+ (| f (h -< z) |) y
+ tests/examples/AtOperator.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeOperators #-}++data a :+: b = Proxy++foo = id @(Int :+: Int)++_ @> m = m
+ tests/examples/AtOperator.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtOperator.hs.parser.golden view
@@ -0,0 +1,291 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 1+ , SrcSpan "tests/examples/AtOperator.hs" 2 1 2 1+ , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/AtOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/AtOperator.hs" 6 1 6 1+ , SrcSpan "tests/examples/AtOperator.hs" 8 1 8 1+ , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1+ , SrcSpan "tests/examples/AtOperator.hs" 9 1 9 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 1 1 1 13+ , SrcSpan "tests/examples/AtOperator.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 2 1 2 13+ , SrcSpan "tests/examples/AtOperator.hs" 2 28 2 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 2 14 2 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 4 14 4 15 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 1 4 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 13+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ ":+:"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ "Proxy")+ [])+ ]+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 5 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 6 5 6 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 7 6 9+ , srcInfoPoints = []+ }+ "id")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 10 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 6 10 6 11 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 11 6 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 6 11 6 12+ , SrcSpan "tests/examples/AtOperator.hs" 6 23 6 24+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 12 6 15+ , srcInfoPoints = []+ }+ "Int")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ ":+:")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 6 20 6 23+ , srcInfoPoints = []+ }+ "Int"))))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 11+ , srcInfoPoints = []+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 1 8 2+ , srcInfoPoints = []+ })+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 3 8 5+ , srcInfoPoints = []+ }+ "@>")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "m")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 8 8 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtOperator.hs" 8 8 8 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtOperator.hs" 8 10 8 11+ , srcInfoPoints = []+ }+ "m"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/AtOperator.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtOperator.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeOperators #-}++data a :+: b = Proxy+foo = id @(Int :+: Int)+_ @> m = m
+ tests/examples/AtSign.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeApplications #-}+{- |+Accelerate interface to the native CUDA implementation+of the Fourier Transform provided by the CUFFT library.+-}+module Data.Array.Accelerate.CUFFT.Private where+++transform hndl@(Handle fallback mode width _) =+ wrap mode (A.constant width) $+ A.foreignAcc+ (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)+ (unwrap mode (A.constant width) fallback)++
+ tests/examples/AtSign.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtSign.hs.parser.golden view
@@ -0,0 +1,591 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 18 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 1+ , SrcSpan "tests/examples/AtSign.hs" 2 1 2 1+ , SrcSpan "tests/examples/AtSign.hs" 3 1 3 1+ , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1+ , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1+ , SrcSpan "tests/examples/AtSign.hs" 11 1 11 1+ , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1+ , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 1 8 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 8 1 8 7+ , SrcSpan "tests/examples/AtSign.hs" 8 44 8 49+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 8 8 43+ , srcInfoPoints = []+ }+ "Data.Array.Accelerate.CUFFT.Private")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 13+ , SrcSpan "tests/examples/AtSign.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 2 1 2 13+ , SrcSpan "tests/examples/AtSign.hs" 2 28 2 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 14 2 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 1 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 3 1 3 13+ , SrcSpan "tests/examples/AtSign.hs" 3 31 3 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 14 3 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 11 10+ , srcInfoPoints = []+ }+ "transform")+ [ PAsPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 11 15 11 16 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 15+ , srcInfoPoints = []+ }+ "hndl")+ (PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 16 11 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 11 16 11 17+ , SrcSpan "tests/examples/AtSign.hs" 11 45 11 46+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23+ , srcInfoPoints = []+ }+ "Handle"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32+ , srcInfoPoints = []+ }+ "fallback")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37+ , srcInfoPoints = []+ }+ "mode")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43+ , srcInfoPoints = []+ }+ "width")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 44 11 45+ , srcInfoPoints = []+ }+ ]))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 47 15 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 11 47 11 48 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 15 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8+ , srcInfoPoints = []+ }+ "wrap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13+ , srcInfoPoints = []+ }+ "mode"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 14 12 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 12 14 12 15+ , SrcSpan "tests/examples/AtSign.hs" 12 31 12 32+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ "A")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 12 15 12 25+ , srcInfoPoints = []+ }+ "constant")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 12 26 12 31+ , srcInfoPoints = []+ }+ "width"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 15 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 14 69+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ "A")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16+ , srcInfoPoints = []+ }+ "foreignAcc")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 7 14 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 14 7 14 8+ , SrcSpan "tests/examples/AtSign.hs" 14 68 14 69+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ "AF")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 8 14 25+ , srcInfoPoints = []+ }+ "CUDAForeignAcc")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 26 14 44+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 26 14 44+ , srcInfoPoints = []+ }+ "transformForeign"+ "transformForeign")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 45 14 46+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 47 14 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 47 14 63+ , srcInfoPoints = []+ }+ "transformForeign")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 14 64 14 68+ , srcInfoPoints = []+ }+ "hndl")))))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 7 15 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 15 7 15 8+ , SrcSpan "tests/examples/AtSign.hs" 15 47 15 48+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 47+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 38+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 8 15 14+ , srcInfoPoints = []+ }+ "unwrap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 15 15 19+ , srcInfoPoints = []+ }+ "mode"))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 20 15 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/AtSign.hs" 15 20 15 21+ , SrcSpan "tests/examples/AtSign.hs" 15 37 15 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ "A")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 21 15 31+ , srcInfoPoints = []+ }+ "constant")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 32 15 37+ , srcInfoPoints = []+ }+ "width"))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/AtSign.hs" 15 39 15 47+ , srcInfoPoints = []+ }+ "fallback"))))))))+ Nothing+ ]+ ]+ , [ Comment+ True+ (SrcSpan "tests/examples/AtSign.hs" 4 1 7 3)+ " |\nAccelerate interface to the native CUDA implementation\nof the Fourier Transform provided by the CUFFT library.\n"+ ]+ )
+ tests/examples/AtSign.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/AtSign.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeApplications #-}+module Data.Array.Accelerate.CUFFT.Private where+transform hndl@(Handle fallback mode width _)+ = wrap mode (A.constant width) $+ A.foreignAcc+ (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)+ (unwrap mode (A.constant width) fallback)
tests/examples/Attributes.hs.parser.golden view
file too large to diff
tests/examples/Attributes.hs.prettyprinter.golden view
@@ -169,7 +169,7 @@ | Weight Double | Width Double | Z Double- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) type Attributes = [Attribute] @@ -675,7 +675,7 @@ type EscString = String newtype URL = UStr{urlString :: EscString}- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot URL where unqtDot = wrap (char '<') (char '>') . text . urlString@@ -690,7 +690,7 @@ parse = parseUnqt newtype ArrowType = AType [(ArrowModifier, ArrowShape)]- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) box, crow, diamond, dotArrow, inv, noArrow, normal, tee, vee :: ArrowType@@ -747,7 +747,7 @@ | Normal | Tee | Vee- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot ArrowShape where unqtDot Box = unqtDot "box"@@ -771,7 +771,7 @@ data ArrowModifier = ArrMod{arrowFill :: ArrowFill, arrowSide :: ArrowSide}- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) noMods :: ArrowModifier noMods = ArrMod FilledArrow BothSides@@ -790,7 +790,7 @@ data ArrowFill = OpenArrow | FilledArrow- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot ArrowFill where unqtDot OpenArrow = char 'o'@@ -805,7 +805,7 @@ data ArrowSide = LeftSide | RightSide | BothSides- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot ArrowSide where unqtDot LeftSide = char 'l'@@ -821,7 +821,7 @@ data AspectType = RatioOnly Double | RatioPassCount Double Int- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot AspectType where unqtDot (RatioOnly r) = unqtDot r@@ -838,7 +838,7 @@ `onFail` liftM RatioOnly parse data Rect = Rect Point Point- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Rect where unqtDot (Rect p1 p2) = commaDel p1 p2@@ -851,7 +851,7 @@ data ClusterMode = Local | Global | NoCluster- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot ClusterMode where unqtDot Local = unqtDot "local"@@ -868,7 +868,7 @@ | Back | Both | NoDir- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot DirType where unqtDot Forward = unqtDot "forward"@@ -885,7 +885,7 @@ data DEConstraints = EdgeConstraints | NoConstraints | HierConstraints- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot DEConstraints where unqtDot EdgeConstraints = unqtDot True@@ -899,7 +899,7 @@ data DPoint = DVal Double | PVal Point- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot DPoint where unqtDot (DVal d) = unqtDot d@@ -915,7 +915,7 @@ | KK | Hier | IpSep- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot ModeType where unqtDot Major = text "major"@@ -932,7 +932,7 @@ data Model = ShortPath | SubSet | Circuit- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot Model where unqtDot ShortPath = text "shortpath"@@ -947,7 +947,7 @@ data Label = StrLabel EscString | URLLabel URL- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Label where unqtDot (StrLabel s) = unqtDot s@@ -962,7 +962,7 @@ data Point = Point Int Int | PointD Double Double- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Point where unqtDot (Point x y) = commaDel x y@@ -992,7 +992,7 @@ | CompressOverlap | VpscOverlap | IpsepOverlap- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Overlap where unqtDot KeepOverlaps = unqtDot True@@ -1017,7 +1017,7 @@ data LayerRange = LRID LayerID | LRS LayerID String LayerID- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot LayerRange where unqtDot (LRID lid) = unqtDot lid@@ -1060,7 +1060,7 @@ data LayerID = AllLayers | LRInt Int | LRName String- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot LayerID where unqtDot AllLayers = text "all"@@ -1080,7 +1080,7 @@ = if map toLower str == "all" then AllLayers else LRName str data LayerList = LL String [(String, String)]- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot LayerList where unqtDot (LL l1 ols) = unqtDot l1 <> hcat (map subLL ols)@@ -1103,7 +1103,7 @@ data OutputMode = BreadthFirst | NodesFirst | EdgesFirst- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot OutputMode where unqtDot BreadthFirst = text "breadthfirst"@@ -1120,7 +1120,7 @@ data Pack = DoPack | DontPack | PackMargin Int- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Pack where unqtDot DoPack = unqtDot True@@ -1136,7 +1136,7 @@ | PackClust | PackGraph | PackArray Bool Bool (Maybe Int)- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot PackMode where unqtDot PackNode = text "node"@@ -1167,7 +1167,7 @@ data Pos = PointPos Point | SplinePos [Spline]- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Pos where unqtDot (PointPos p) = unqtDot p@@ -1188,7 +1188,7 @@ | NoEdges | PolyLine | CompoundEdge- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot EdgeType where unqtDot SplineEdges = toDot True@@ -1215,7 +1215,7 @@ | Rt | Lb | Lt- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot PageDir where unqtDot Bl = text "BL"@@ -1235,7 +1235,7 @@ stringRep Lb "LB", stringRep Lt "LT"] data Spline = Spline (Maybe Point) (Maybe Point) [Point]- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Spline where unqtDot (Spline ms me ps) = addS . addE . hsep $ map unqtDot ps@@ -1263,7 +1263,7 @@ data QuadType = NormalQT | FastQT | NoQT- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot QuadType where unqtDot NormalQT = text "normal"@@ -1280,7 +1280,7 @@ data Root = IsCentral | NotCentral | NodeName String- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Root where unqtDot IsCentral = unqtDot True@@ -1302,7 +1302,7 @@ | SourceRank | MaxRank | SinkRank- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot RankType where unqtDot SameRank = text "same"@@ -1322,7 +1322,7 @@ | FromLeft | FromBottom | FromRight- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot RankDir where unqtDot FromTop = text "TB"@@ -1366,7 +1366,7 @@ | Folder | Box3D | Component- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot Shape where unqtDot BoxShape = text "box"@@ -1430,7 +1430,7 @@ | RNG | Spring | TriangleSmooth- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot SmoothType where unqtDot NoSmooth = text "none"@@ -1452,7 +1452,7 @@ data StartType = StartStyle STStyle | StartSeed Int | StartStyleSeed STStyle Int- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot StartType where unqtDot (StartStyle ss) = unqtDot ss@@ -1470,7 +1470,7 @@ data STStyle = RegularStyle | SelfStyle | RandomStyle- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot STStyle where unqtDot RegularStyle = text "regular"@@ -1484,7 +1484,7 @@ stringRep RandomStyle "random"] data StyleItem = SItem StyleName [String]- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot StyleItem where unqtDot (SItem nm args)@@ -1524,7 +1524,7 @@ | Diagonals | Rounded | DD String- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot StyleName where unqtDot Dashed = text "dashed"@@ -1568,7 +1568,7 @@ return $ f : r newtype PortPos = PP CompassPoint- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot PortPos where unqtDot (PP cp) = unqtDot cp@@ -1587,7 +1587,7 @@ | NorthWest | CenterPoint | NoCP- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot CompassPoint where unqtDot NorthEast = text "ne"@@ -1611,7 +1611,7 @@ data ViewPort = VP{wVal :: Double, hVal :: Double, zVal :: Double, focus :: Maybe FocusType}- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot ViewPort where unqtDot vp = maybe vs ((<>) (vs <> comma) . unqtDot) $ focus vp@@ -1633,7 +1633,7 @@ data FocusType = XY Point | NodeFocus String- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot FocusType where unqtDot (XY p) = unqtDot p@@ -1648,7 +1648,7 @@ data VerticalPlacement = VTop | VCenter | VBottom- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot VerticalPlacement where unqtDot VTop = char 't'@@ -1665,7 +1665,7 @@ | FillWidth | FillHeight | FillBoth- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot ScaleType where unqtDot UniformScale = unqtDot True@@ -1684,7 +1684,7 @@ data Justification = JLeft | JRight | JCenter- deriving (Eq, Ord, Bounded, Enum, Show, Read)+ deriving (Eq, Ord, Bounded, Enum, Show, Read) instance PrintDot Justification where unqtDot JLeft = char 'l'@@ -1701,7 +1701,7 @@ | CompressRatio | ExpandRatio | AutoRatio- deriving (Eq, Ord, Show, Read)+ deriving (Eq, Ord, Show, Read) instance PrintDot Ratios where unqtDot (AspectRatio r) = unqtDot r
tests/examples/BangViewPat.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE BangPatterns, ViewPatterns #-}-module Main (main) where someFun (id -> !arg) = undefined
tests/examples/BinaryLiteralsGood.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0b0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0b0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0b0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "0b11001001")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "0b11")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "0b11111111")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0b0"),Lit () (Int () 1 "0b1"),Lit () (Int () 2 "0b10"),Lit () (Int () 3 "0b11"),Lit () (Int () 4 "0b100"),Lit () (Int () 5 "0b101"),Lit () (Int () 6 "0b110"),ExpTypeSig () (Lit () (Int () 7 "0b111")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0b0")),NegApp () (Lit () (Int () 1 "0b1")),NegApp () (Lit () (Int () 2 "0b10")),NegApp () (Lit () (Int () 3 "0b11")),NegApp () (Lit () (Int () 4 "0b100")),NegApp () (Lit () (Int () 5 "0b101")),NegApp () (Lit () (Int () 6 "0b110")),NegApp () (Lit () (Int () 7 "0b111")),Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "0B10000000")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "0B1111111"))]))])) Nothing]++AST 2:++Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "201")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "3")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "255")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0"),Lit () (Int () 1 "1"),Lit () (Int () 2 "2"),Lit () (Int () 3 "3"),Lit () (Int () 4 "4"),Lit () (Int () 5 "5"),Lit () (Int () 6 "6"),ExpTypeSig () (Lit () (Int () 7 "7")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0")),NegApp () (Lit () (Int () 1 "1")),NegApp () (Lit () (Int () 2 "2")),NegApp () (Lit () (Int () 3 "3")),NegApp () (Lit () (Int () 4 "4")),NegApp () (Lit () (Int () 5 "5")),NegApp () (Lit () (Int () 6 "6")),NegApp () (Lit () (Int () 7 "7")),Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "128")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "127"))]))])) Nothing]+
tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE BinaryLiterals #-} {-# LANGUAGE MagicHash #-}-module Main (main) where import GHC.Types main = do print
+ tests/examples/BlockArguments.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where++foo = when (x > 0) do+ print x+ exitFailure++bar = withForeignPtr fptr \ptr -> c_memcpy buf ptr size++baz arg1 arg2 arg3 arg4 = initialValue+ & someFunction arg1 arg2+ >>= traverse \(x, y) -> do+ a <- f x+ b <- g y+ h a b+ >>= anotherFunction arg3 arg4
+ tests/examples/BlockArguments.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BlockArguments.hs.parser.golden view
@@ -0,0 +1,1099 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 1+ , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+ , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+ , SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 1+ , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 1+ , SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 1+ , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+ , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 7+ , SrcSpan "tests/examples/BlockArguments.hs" 2 23 2 28+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 8 2 22+ , srcInfoPoints = []+ }+ "BlockArguments")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 13+ , SrcSpan "tests/examples/BlockArguments.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "BlockArguments"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 6 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 5 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 5 4 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 6 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ "when")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 13+ , SrcSpan "tests/examples/BlockArguments.hs" 4 18 4 19+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ 0+ "0")))))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 20 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 20 4 22+ , SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 3+ , SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 3+ , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "x"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ "exitFailure")))+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 56+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ "withForeignPtr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ "fptr"))))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 28+ , SrcSpan "tests/examples/BlockArguments.hs" 8 32 8 34+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+ , srcInfoPoints = []+ }+ "ptr")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ "c_memcpy")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ "buf"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ "ptr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ "size")))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 4+ , srcInfoPoints = []+ }+ "baz")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+ , srcInfoPoints = []+ }+ "arg1")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+ , srcInfoPoints = []+ }+ "arg2")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+ , srcInfoPoints = []+ }+ "arg3")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+ , srcInfoPoints = []+ }+ "arg4")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 25 16 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 10 25 10 26 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 16 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 11 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ "initialValue")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ "&")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ "someFunction")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ "arg1"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ "arg2")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ ">>=")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 16 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ "traverse")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 16 16 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 16 12 17+ , SrcSpan "tests/examples/BlockArguments.hs" 12 24 12 26+ ]+ }+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 18+ , SrcSpan "tests/examples/BlockArguments.hs" 12 19 12 20+ , SrcSpan "tests/examples/BlockArguments.hs" 12 22 12 23+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ "y")+ ]+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 27 16 32+ , srcInfoPoints = []+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 27 15 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 27 12 29+ , SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 9+ , SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 9+ , SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 9+ , SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 13 11 13 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ "a"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 14 13 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 13+ 14+ 13+ 15+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 13+ 16+ 13+ 17+ , srcInfoPoints = []+ }+ "x"))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 14 11 14 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ "b"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 14 14 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 14+ 14+ 14+ 15+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 14+ 16+ 14+ 17+ , srcInfoPoints = []+ }+ "y"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 9 15 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 9+ 15+ 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 9+ 15+ 10+ , srcInfoPoints = []+ }+ "h")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 11+ 15+ 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 11+ 15+ 12+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 13+ 15+ 14+ , srcInfoPoints = []+ }+ "b"))))+ ])+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ ">>=")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ "anotherFunction")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ "arg3"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ "arg4")))))))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/BlockArguments.hs.prettyparser.golden view
@@ -0,0 +1,10 @@+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))]))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size"))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4"))))))))) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Paren () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))])))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Paren () (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size")))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Paren () (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4")))))))))) Nothing]]+
+ tests/examples/BlockArguments.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where+foo+ = when (x > 0)+ (do print x+ exitFailure)+bar = withForeignPtr fptr (\ ptr -> c_memcpy buf ptr size)+baz arg1 arg2 arg3 arg4+ = initialValue & someFunction arg1 arg2 >>=+ traverse+ (\ (x, y) ->+ do a <- f x+ b <- g y+ h a b+ >>= anotherFunction arg3 arg4)
tests/examples/BracketInstanceHead.hs.parser.golden view
@@ -51,40 +51,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23 , srcInfoPoints = [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18- , srcInfoPoints = []+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ , srcInfoPoints = []+ }+ "Bounded")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20 , srcInfoPoints = [] }- "Bounded"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
tests/examples/BracketInstanceHead.hs.prettyprinter.golden view
@@ -1,3 +1,1 @@-module Main (main) where--instance Bounded a => Bounded [a]+instance (Bounded a => Bounded [a]) where
tests/examples/Bug.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where import Test.QuickCheck
+ tests/examples/Bundles.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+module Bundles(Foo(..), Baz(..,Q), Qux(F,..), Tux(Q,..,F)) where++main = main
+ tests/examples/Bundles.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Bundles.hs.parser.golden view
@@ -0,0 +1,252 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 1+ , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1+ , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1+ , SrcSpan "tests/examples/Bundles.hs" 4 1 4 1+ , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1+ , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 1 2 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 1 2 7+ , SrcSpan "tests/examples/Bundles.hs" 2 60 2 65+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 8 2 15+ , srcInfoPoints = []+ }+ "Bundles")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 15 2 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 15 2 16+ , SrcSpan "tests/examples/Bundles.hs" 2 23 2 24+ , SrcSpan "tests/examples/Bundles.hs" 2 34 2 35+ , SrcSpan "tests/examples/Bundles.hs" 2 45 2 46+ , SrcSpan "tests/examples/Bundles.hs" 2 58 2 59+ ]+ }+ [ EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 19 2 20+ , SrcSpan "tests/examples/Bundles.hs" 2 22 2 23+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 20 2 22+ , srcInfoPoints = []+ }+ 0)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19+ , srcInfoPoints = []+ }+ "Foo"))+ []+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 28 2 29+ , SrcSpan "tests/examples/Bundles.hs" 2 31 2 32+ , SrcSpan "tests/examples/Bundles.hs" 2 33 2 34+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 29 2 31+ , srcInfoPoints = []+ }+ 0)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28+ , srcInfoPoints = []+ }+ "Baz"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33+ , srcInfoPoints = []+ }+ "Q")+ ]+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 39 2 40+ , SrcSpan "tests/examples/Bundles.hs" 2 41 2 42+ , SrcSpan "tests/examples/Bundles.hs" 2 44 2 45+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 42 2 44+ , srcInfoPoints = []+ }+ 1)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39+ , srcInfoPoints = []+ }+ "Qux"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41+ , srcInfoPoints = []+ }+ "F")+ ]+ , EThingWith+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 2 50 2 51+ , SrcSpan "tests/examples/Bundles.hs" 2 52 2 53+ , SrcSpan "tests/examples/Bundles.hs" 2 55 2 56+ , SrcSpan "tests/examples/Bundles.hs" 2 57 2 58+ ]+ }+ (EWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 53 2 55+ , srcInfoPoints = []+ }+ 1)+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50+ , srcInfoPoints = []+ }+ "Tux"))+ [ ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52+ , srcInfoPoints = []+ }+ "Q")+ , ConName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57+ , srcInfoPoints = []+ }+ "F")+ ]+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 13+ , SrcSpan "tests/examples/Bundles.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 6 4 12+ , srcInfoPoints = [ SrcSpan "tests/examples/Bundles.hs" 4 6 4 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "main"))))+ Nothing+ ]+ , []+ )
+ tests/examples/Bundles.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Bundles.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+module Bundles (Foo(..), Baz(.., Q), Qux(F, ..), Tux(Q, .., F))+ where+main = main
tests/examples/ByteStringUtils.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "0x20"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "0x09"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "0x0A"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "0x0D"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\31\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "32"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "9"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "10"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "13"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\US\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]+
tests/examples/CApiFFI.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE CApiFFI #-}-module Main (main) where foo = capi
− tests/examples/CParser.hs
@@ -1,6323 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LANGUAGE MagicHash #-}-module Language.C.Parser.Parser (- -- * Parse a C translation unit- parseC,- -- * Exposed Parsers- translUnitP, extDeclP, statementP, expressionP-) where---- Relevant C99 sections:------ 6.5 Expressions .1 - .17 and 6.6 (almost literally)--- Supported GNU extensions:--- - Allow a compound statement as an expression--- - Various __builtin_* forms that take type parameters--- - `alignof' expression or type--- - `__extension__' to suppress warnings about extensions--- - Allow taking address of a label with: && label--- - Omitting the `then' part of conditional expressions--- - complex numbers------ 6.7 C Declarations .1 -.8--- Supported GNU extensions:--- - '__thread' thread local storage (6.7.1)------ 6.8 Statements .1 - .8--- Supported GNU extensions:--- - case ranges (C99 6.8.1)--- - '__label__ ident;' declarations (C99 6.8.2)--- - computed gotos (C99 6.8.6)------ 6.9 Translation unit--- Supported GNU extensions:--- - allow empty translation_unit--- - allow redundant ';'--- - allow extension keyword before external declaration--- - asm definitions------ Since some of the grammar productions are quite difficult to read,--- (especially those involved with the decleration syntax) we document them--- with an extended syntax that allows a more consise representation:------ Ordinary rules------ foo named terminal or non-terminal------ 'c' terminal, literal character token------ A B concatenation------ A | B alternation------ (A) grouping------ Extended rules------ A? optional, short hand for (A|) or [A]{ 0==A || 1==A }------ ... stands for some part of the grammar omitted for clarity------ {A} represents sequences, 0 or more.------ <permute> modifier which states that any permutation of the immediate subterms is valid---------- TODO ---------------------------------------------------------------------------- !* We ignore the C99 static keyword (see C99 6.7.5.3)--- !* We do not distinguish in the AST between incomplete array types and--- complete variable length arrays ([ '*' ] means the latter). (see C99 6.7.5.2)--- !* The AST doesn't allow recording __attribute__ of unnamed struct field--- (see , struct_default_declaring_list, struct_identifier_declarator)--- !* see `We're being far to liberal here' (... struct definition within structs)--- * Documentation isn't complete and consistent yet.--import Prelude hiding (reverse)-import qualified Data.List as List-import Control.Monad (mplus)-import Language.C.Parser.Builtin (builtinTypeNames)-import Language.C.Parser.Lexer (lexC, parseError)-import Language.C.Parser.Tokens (CToken(..), GnuCTok(..), posLenOfTok)-import Language.C.Parser.ParserMonad (P, failP, execParser, getNewName, addTypedef, shadowTypedef, getCurrentPosition,- enterScope, leaveScope, getLastToken, getSavedToken, ParseError(..))--import Language.C.Data.RList-import Language.C.Data.InputStream-import Language.C.Data.Ident-import Language.C.Data.Name-import Language.C.Data.Node-import Language.C.Data.Position-import Language.C.Syntax--- #if __GLASGOW_HASKELL__ >= 503-import Data.Array--- #else-import Array--- #endif--- #if __GLASGOW_HASKELL__ >= 503-import GHC.Exts--- #else-import GlaExts--- #endif---- parser produced by Happy Version 1.16--newtype HappyAbsSyn = HappyAbsSyn (() -> ())-happyIn7 :: (CTranslUnit) -> (HappyAbsSyn )-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (CTranslUnit)-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn )-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (Reversed [CExtDecl])-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (CExtDecl) -> (HappyAbsSyn )-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> (CExtDecl)-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CFunDef) -> (HappyAbsSyn )-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> (CFunDef)-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (CDeclr) -> (HappyAbsSyn )-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (CDeclr)-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (CStat) -> (HappyAbsSyn )-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> (CStat)-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (CStat) -> (HappyAbsSyn )-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (CStat)-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (CStat) -> (HappyAbsSyn )-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (CStat)-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (()) -> (HappyAbsSyn )-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (())-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (()) -> (HappyAbsSyn )-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (())-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn )-happyIn17 x = unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (Reversed [CBlockItem])-happyOut17 x = unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (CBlockItem) -> (HappyAbsSyn )-happyIn18 x = unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (CBlockItem)-happyOut18 x = unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (CBlockItem) -> (HappyAbsSyn )-happyIn19 x = unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (CBlockItem)-happyOut19 x = unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (CFunDef) -> (HappyAbsSyn )-happyIn20 x = unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (CFunDef)-happyOut20 x = unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn )-happyIn21 x = unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (Reversed [Ident])-happyOut21 x = unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (CStat) -> (HappyAbsSyn )-happyIn22 x = unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (CStat)-happyOut22 x = unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (CStat) -> (HappyAbsSyn )-happyIn23 x = unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (CStat)-happyOut23 x = unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (CStat) -> (HappyAbsSyn )-happyIn24 x = unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (CStat)-happyOut24 x = unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (CStat) -> (HappyAbsSyn )-happyIn25 x = unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (CStat)-happyOut25 x = unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (CAsmStmt) -> (HappyAbsSyn )-happyIn26 x = unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (CAsmStmt)-happyOut26 x = unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn )-happyIn27 x = unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (Maybe CTypeQual)-happyOut27 x = unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn )-happyIn28 x = unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([CAsmOperand])-happyOut28 x = unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn )-happyIn29 x = unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Reversed [CAsmOperand])-happyOut29 x = unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (CAsmOperand) -> (HappyAbsSyn )-happyIn30 x = unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (CAsmOperand)-happyOut30 x = unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn )-happyIn31 x = unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (Reversed [CStrLit])-happyOut31 x = unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (CDecl) -> (HappyAbsSyn )-happyIn32 x = unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (CDecl)-happyOut32 x = unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn33 x = unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut33 x = unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (CDecl) -> (HappyAbsSyn )-happyIn34 x = unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (CDecl)-happyOut34 x = unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn )-happyIn35 x = unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> ((Maybe CStrLit, [CAttr]))-happyOut35 x = unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (CDecl) -> (HappyAbsSyn )-happyIn36 x = unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (CDecl)-happyOut36 x = unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn )-happyIn37 x = unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> ([CDeclSpec])-happyOut37 x = unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn38 x = unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut38 x = unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (CDeclSpec) -> (HappyAbsSyn )-happyIn39 x = unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (CDeclSpec)-happyOut39 x = unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (CStorageSpec) -> (HappyAbsSyn )-happyIn40 x = unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (CStorageSpec)-happyOut40 x = unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn )-happyIn41 x = unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ([CDeclSpec])-happyOut41 x = unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (CTypeSpec) -> (HappyAbsSyn )-happyIn42 x = unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (CTypeSpec)-happyOut42 x = unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn43 x = unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut43 x = unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn44 x = unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut44 x = unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn45 x = unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut45 x = unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn46 x = unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut46 x = unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn47 x = unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut47 x = unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )-happyIn48 x = unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])-happyOut48 x = unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (CTypeSpec) -> (HappyAbsSyn )-happyIn49 x = unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (CTypeSpec)-happyOut49 x = unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (CStructUnion) -> (HappyAbsSyn )-happyIn50 x = unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (CStructUnion)-happyOut50 x = unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Located CStructTag) -> (HappyAbsSyn )-happyIn51 x = unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Located CStructTag)-happyOut51 x = unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn52 x = unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut52 x = unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (CDecl) -> (HappyAbsSyn )-happyIn53 x = unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (CDecl)-happyOut53 x = unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (CDecl) -> (HappyAbsSyn )-happyIn54 x = unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (CDecl)-happyOut54 x = unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (CDecl) -> (HappyAbsSyn )-happyIn55 x = unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (CDecl)-happyOut55 x = unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )-happyIn56 x = unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))-happyOut56 x = unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )-happyIn57 x = unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))-happyOut57 x = unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (CEnum) -> (HappyAbsSyn )-happyIn58 x = unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (CEnum)-happyOut58 x = unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn )-happyIn59 x = unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (Reversed [(Ident, Maybe CExpr)])-happyOut59 x = unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn )-happyIn60 x = unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> ((Ident, Maybe CExpr))-happyOut60 x = unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (CTypeQual) -> (HappyAbsSyn )-happyIn61 x = unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (CTypeQual)-happyOut61 x = unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn )-happyIn62 x = unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (Reversed [CTypeQual])-happyOut62 x = unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: (CDeclrR) -> (HappyAbsSyn )-happyIn63 x = unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut63 x = unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn )-happyIn64 x = unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> (Maybe CStrLit)-happyOut64 x = unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (CDeclrR) -> (HappyAbsSyn )-happyIn65 x = unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut65 x = unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (CDeclrR) -> (HappyAbsSyn )-happyIn66 x = unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut66 x = unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: (CDeclrR) -> (HappyAbsSyn )-happyIn67 x = unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut67 x = unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (CDeclrR) -> (HappyAbsSyn )-happyIn68 x = unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut68 x = unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (CDeclrR) -> (HappyAbsSyn )-happyIn69 x = unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut69 x = unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: (CDeclrR) -> (HappyAbsSyn )-happyIn70 x = unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut70 x = unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (CDeclrR) -> (HappyAbsSyn )-happyIn71 x = unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut71 x = unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (CDeclrR) -> (HappyAbsSyn )-happyIn72 x = unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut72 x = unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (CDeclrR) -> (HappyAbsSyn )-happyIn73 x = unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut73 x = unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (CDeclrR) -> (HappyAbsSyn )-happyIn74 x = unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut74 x = unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (CDeclrR) -> (HappyAbsSyn )-happyIn75 x = unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut75 x = unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (CDeclr) -> (HappyAbsSyn )-happyIn76 x = unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (CDeclr)-happyOut76 x = unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (CDeclrR) -> (HappyAbsSyn )-happyIn77 x = unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut77 x = unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (CDeclrR) -> (HappyAbsSyn )-happyIn78 x = unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut78 x = unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn )-happyIn79 x = unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (([CDecl], Bool))-happyOut79 x = unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn )-happyIn80 x = unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Reversed [CDecl])-happyOut80 x = unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (CDecl) -> (HappyAbsSyn )-happyIn81 x = unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (CDecl)-happyOut81 x = unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn )-happyIn82 x = unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (Reversed [Ident])-happyOut82 x = unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (CDecl) -> (HappyAbsSyn )-happyIn83 x = unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (CDecl)-happyOut83 x = unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (CDeclrR) -> (HappyAbsSyn )-happyIn84 x = unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut84 x = unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn85 x = unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut85 x = unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn86 x = unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut86 x = unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )-happyIn87 x = unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)-happyOut87 x = unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (CDeclrR) -> (HappyAbsSyn )-happyIn88 x = unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut88 x = unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (CDeclrR) -> (HappyAbsSyn )-happyIn89 x = unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (CDeclrR)-happyOut89 x = unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (CInit) -> (HappyAbsSyn )-happyIn90 x = unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (CInit)-happyOut90 x = unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (Maybe CInit) -> (HappyAbsSyn )-happyIn91 x = unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (Maybe CInit)-happyOut91 x = unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn )-happyIn92 x = unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (Reversed CInitList)-happyOut92 x = unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: ([CDesignator]) -> (HappyAbsSyn )-happyIn93 x = unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> ([CDesignator])-happyOut93 x = unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn )-happyIn94 x = unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Reversed [CDesignator])-happyOut94 x = unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (CDesignator) -> (HappyAbsSyn )-happyIn95 x = unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (CDesignator)-happyOut95 x = unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (CDesignator) -> (HappyAbsSyn )-happyIn96 x = unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (CDesignator)-happyOut96 x = unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (CExpr) -> (HappyAbsSyn )-happyIn97 x = unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (CExpr)-happyOut97 x = unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn )-happyIn98 x = unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Reversed [CDesignator])-happyOut98 x = unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (CExpr) -> (HappyAbsSyn )-happyIn99 x = unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (CExpr)-happyOut99 x = unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn100 x = unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut100 x = unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (CExpr) -> (HappyAbsSyn )-happyIn101 x = unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (CExpr)-happyOut101 x = unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn )-happyIn102 x = unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Located CUnaryOp)-happyOut102 x = unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (CExpr) -> (HappyAbsSyn )-happyIn103 x = unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (CExpr)-happyOut103 x = unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (CExpr) -> (HappyAbsSyn )-happyIn104 x = unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (CExpr)-happyOut104 x = unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (CExpr) -> (HappyAbsSyn )-happyIn105 x = unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (CExpr)-happyOut105 x = unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (CExpr) -> (HappyAbsSyn )-happyIn106 x = unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (CExpr)-happyOut106 x = unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (CExpr) -> (HappyAbsSyn )-happyIn107 x = unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (CExpr)-happyOut107 x = unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (CExpr) -> (HappyAbsSyn )-happyIn108 x = unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (CExpr)-happyOut108 x = unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (CExpr) -> (HappyAbsSyn )-happyIn109 x = unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (CExpr)-happyOut109 x = unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (CExpr) -> (HappyAbsSyn )-happyIn110 x = unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (CExpr)-happyOut110 x = unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (CExpr) -> (HappyAbsSyn )-happyIn111 x = unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (CExpr)-happyOut111 x = unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (CExpr) -> (HappyAbsSyn )-happyIn112 x = unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (CExpr)-happyOut112 x = unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (CExpr) -> (HappyAbsSyn )-happyIn113 x = unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (CExpr)-happyOut113 x = unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: (CExpr) -> (HappyAbsSyn )-happyIn114 x = unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> (CExpr)-happyOut114 x = unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (CExpr) -> (HappyAbsSyn )-happyIn115 x = unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (CExpr)-happyOut115 x = unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn )-happyIn116 x = unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (Located CAssignOp)-happyOut116 x = unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (CExpr) -> (HappyAbsSyn )-happyIn117 x = unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (CExpr)-happyOut117 x = unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn118 x = unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut118 x = unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn )-happyIn119 x = unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (Maybe CExpr)-happyOut119 x = unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn )-happyIn120 x = unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (Maybe CExpr)-happyOut120 x = unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (CExpr) -> (HappyAbsSyn )-happyIn121 x = unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (CExpr)-happyOut121 x = unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: (CConst) -> (HappyAbsSyn )-happyIn122 x = unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> (CConst)-happyOut122 x = unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (CStrLit) -> (HappyAbsSyn )-happyIn123 x = unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (CStrLit)-happyOut123 x = unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn )-happyIn124 x = unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (Reversed [CString])-happyOut124 x = unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (Ident) -> (HappyAbsSyn )-happyIn125 x = unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (Ident)-happyOut125 x = unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: ([CAttr]) -> (HappyAbsSyn )-happyIn126 x = unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> ([CAttr])-happyOut126 x = unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: ([CAttr]) -> (HappyAbsSyn )-happyIn127 x = unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> ([CAttr])-happyOut127 x = unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: ([CAttr]) -> (HappyAbsSyn )-happyIn128 x = unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> ([CAttr])-happyOut128 x = unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn )-happyIn129 x = unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (Reversed [CAttr])-happyOut129 x = unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn )-happyIn130 x = unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (Maybe CAttr)-happyOut130 x = unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn )-happyIn131 x = unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (Reversed [CExpr])-happyOut131 x = unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyInTok :: CToken -> (HappyAbsSyn )-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> CToken-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x1d\x0f\xd3\x09\x31\x0f\x00\x00\x80\x07\x00\x00\x7f\x09\x77\x0f\x31\x0f\x00\x00\xc8\x09\x1f\x05\x05\x05\x7f\x03\xf0\x04\x65\x08\x54\x08\x49\x08\x3e\x08\xc6\x04\x00\x00\x2b\x08\xef\x07\x00\x00\x00\x00\x0b\x09\x00\x00\x00\x00\xcd\x0e\xcd\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x82\x04\xaf\x0e\x96\x0e\x00\x00\x00\x00\x00\x00\xf6\x07\x00\x00\x32\x0e\x14\x0e\x14\x0e\x48\x08\x47\x08\x24\x08\xb6\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x07\xe6\x07\x00\x00\x00\x00\x4a\x05\xd2\x07\xfb\x0d\xd0\x07\xd6\x07\xd3\x09\xf5\x07\x24\x00\xed\x07\xfb\x0d\xec\x07\xd5\x07\xc6\x07\x00\x00\x76\x07\x00\x00\xae\x07\x00\x00\x95\x04\x8e\x04\x01\x01\xd5\x11\x00\x00\x01\x01\x00\x00\x9a\x19\x9a\x19\x11\x18\x01\x18\x21\x08\x21\x08\x00\x00\x00\x00\x71\x07\x00\x00\xa6\x11\x00\x00\x00\x00\x00\x00\xd9\x01\x00\x00\x00\x00\x00\x00\x4a\x05\x89\x12\x00\x00\x3d\x01\x3d\x01\xcb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x07\x1d\x0f\x55\x07\x00\x00\xb8\x07\x6f\x09\x7a\x01\x59\x07\x5b\x07\xb3\x12\x00\x00\x00\x00\x4b\x00\xb2\x07\xb4\x09\xaa\x07\x4b\x00\x86\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\xa7\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x18\x00\x00\x9d\x07\x00\x00\x94\x18\xff\x0a\x72\x07\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x77\x11\x97\x07\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x07\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x07\x00\x00\x6e\x02\x48\x02\x0f\x00\x52\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\x7b\x07\x00\x00\x4f\x07\x53\x07\x00\x00\x1b\x07\x00\x00\x1b\x07\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x00\x00\x4d\x07\xfb\x0d\x41\x07\xfb\x0d\x00\x00\x43\x08\x14\x07\xd3\x09\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x65\x07\x00\x00\x2e\x07\xf4\x06\x00\x00\xc3\x1a\xc3\x1a\xfb\x0d\x00\x00\x0b\x09\x00\x00\x00\x00\xf0\x06\x00\x00\x00\x00\x0b\x09\x00\x00\x0b\x09\x00\x00\x00\x00\x00\x00\x4e\x07\x97\x03\xe7\x1a\xab\x04\xab\x04\x7a\x0a\x4c\x07\x4b\x07\x9f\x1a\xfb\x0d\xfb\x0d\x97\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xfb\x0d\x36\x04\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x07\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x09\xa3\x09\x8a\x04\x8a\x04\x4f\x04\x4f\x04\x4f\x04\x4f\x04\x7f\x03\x7f\x03\x1d\x04\x35\x07\x2b\x07\x16\x07\x0c\x07\xfb\x0d\x25\x07\x00\x00\xfb\x06\x00\x00\x61\x0d\x00\x00\x00\x00\x00\x00\xb7\x06\x57\x1a\x33\x1a\x48\x11\x00\x0f\x00\x00\x00\x00\x0f\x07\x0e\x07\x00\x00\xf3\x06\xdd\x06\xdb\x06\xc7\x06\xd3\x09\xdf\x07\xad\x06\x94\x06\x7c\x06\xd3\x09\xfb\x0d\x00\x00\xcb\x06\x6c\x19\xab\x06\xa7\x06\x00\x00\xc4\x06\x00\x00\xc3\x06\xc1\x06\xea\x00\xd8\x00\x38\x18\xa1\x06\x5d\x06\xaa\x06\x00\x00\x6f\x09\x38\x18\x86\x06\x00\x00\x00\x00\x1e\x19\x5b\x0b\x00\x00\x00\x00\xb1\x01\x93\x01\x8e\x06\x88\x06\x0f\x00\x47\x00\x93\x01\x00\x00\x38\x18\x66\x06\x00\x00\x49\x06\x00\x00\x6f\x09\x3e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x62\x06\x00\x00\x38\x18\x3d\x06\x00\x00\x9b\x0a\x00\x00\x29\x06\xe0\x0b\x09\x00\xce\x05\x74\x02\xff\x0f\x74\x02\x21\x08\x21\x08\xd0\x0f\x24\x06\xfb\x05\x00\x00\x1b\x01\x45\x19\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x19\x11\xd8\x00\xea\x10\x5a\x12\x6f\x09\x38\x18\x04\x06\x00\x00\x19\x06\x9e\x09\x12\x00\x12\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x00\x00\xdc\x0c\x09\x06\xf4\x05\xcc\x03\x03\x06\xfe\x05\x77\x00\xca\x00\x00\x00\x00\x00\xef\x05\x00\x00\x00\x00\xcd\x02\x00\x00\xcb\x05\xcc\x03\xaa\x05\x00\x00\x00\x00\x00\x00\xdc\x0c\x4b\x09\x00\x00\x0f\x00\x00\x00\xfd\x0c\x00\x00\xc8\x05\xc1\x05\x8c\x05\x8c\x05\xbb\x10\x00\x00\xf1\x00\xc9\x00\x8c\x05\x00\x00\x56\x05\x66\x18\x00\x00\x53\x05\x00\x00\xf0\x18\xc2\x18\xa1\x0f\xde\x12\x53\x05\x53\x05\x00\x00\x72\x0f\x49\x07\x53\x05\x00\x00\x53\x05\x53\x05\x00\x00\xab\x04\x62\x0c\x9d\x05\x9b\x05\x09\x00\x00\x00\x90\x05\x46\x05\x37\x0a\x09\x00\x00\x00\x00\x00\x6f\x09\x38\x18\x6d\x05\x00\x00\x8f\x05\x8d\x05\xdc\x17\x00\x00\x00\x00\x00\x00\x2f\x09\x84\x05\x0e\x00\xbe\x00\x83\x05\x0f\x00\x0f\x00\x2c\x09\x00\x00\x00\x00\x00\x00\xe3\x0a\x65\x00\x00\x00\x00\x00\x81\x05\x79\x05\x10\x05\x00\x00\x00\x00\x00\x00\x35\x05\x35\x05\xd3\x09\xd3\x09\xd3\x09\x00\x00\xfb\x0d\xfb\x0d\xfb\x0d\x42\x05\x00\x00\xaa\x01\xc9\x03\xdf\x07\xf2\x04\x00\x00\x23\x05\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x8c\x10\xd8\x00\x5d\x10\x2d\x05\xa7\x08\x00\x00\x7b\x1a\x9a\x03\x7b\x1a\x1c\x05\x1c\x05\x1c\x05\x30\x0c\x00\x00\xa2\x09\x31\x05\x2f\x05\x2d\x00\x33\x12\x00\x00\x00\x00\xfe\x0b\xfb\x0d\x00\x00\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x02\xfd\x0c\xdc\x02\x00\x00\x99\x01\x00\x00\xd4\x04\xfb\x0d\x9a\x03\xfe\x0b\x21\x05\x0d\x05\x13\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x04\x09\x05\xed\x02\x00\x00\xf9\x04\x00\x00\xc0\x04\x2e\x10\xc0\x04\xc0\x04\xc0\x04\x00\x00\xa3\x03\x89\x04\x00\x00\xa2\x04\x2a\x00\xd3\x09\xc7\x04\x9c\x04\x97\x04\x7f\x04\x00\x00\x00\x00\x88\x04\x88\x04\xa1\x04\x00\x00\x00\x00\x22\x09\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0a\x0f\x00\x00\x00\xaf\x17\xd4\x02\x00\x00\xa0\x03\x98\x03\x0f\x1a\xc2\x12\x00\x00\x00\x00\xbe\x19\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x04\x9a\x04\x8b\x04\x86\x04\x09\x00\x0a\x04\x00\x00\x7a\x04\x00\x00\x00\x00\x68\x04\xfb\x0d\x00\x00\x00\x00\x00\x00\xb4\x04\x9f\x00\x04\x12\x00\x00\x00\x00\xdc\x0a\x3e\x09\x24\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x2b\x00\x2b\x00\x16\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x02\xfb\x0d\xf4\x00\x00\x00\xe4\x0c\x64\x04\x77\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\x2b\x00\x5f\x01\xcd\x00\x3e\x04\x00\x00\x00\x00\xfb\x0d\x3c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x1b\x04\xfb\x0d\x9e\x00\xeb\x19\xc8\x03\x00\x00\xc8\x03\x00\x00\xc8\x03\x06\x04\xfb\x0d\x00\x00\x00\x00\xcd\x00\x1f\x09\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x09\xfb\x0d\xfb\x0d\xf5\x03\x00\x00\x0a\x01\xef\x03\x00\x00\x1a\x04\x49\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x40\x03\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x97\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x00\x00\x00\x00\x80\x0c\x00\x00\x00\x00\xfb\x0d\x63\x0b\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x01\x04\xe1\x03\xfb\x0d\x2a\x00\xb6\x03\x2a\x00\x00\x00\xd8\x03\xd3\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x9e\x00\xd4\x02\x6a\x03\x00\x00\xfb\x0d\x00\x00\x00\x00\xb9\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x4a\x03\x4a\x03\x00\x00\xd3\x09\xd3\x09\xd5\x00\x00\x00\x00\x00\xa8\x03\x3b\x03\x3b\x03\x00\x00\x00\x00\x7a\x03\x00\x00\x00\x00\x74\x03\x72\x03\x00\x00\x46\x03\x0b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x6c\x03\x5b\x03\x17\x03\xe9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x36\x03\x71\x00\xd3\x06\xc6\x1d\x3c\x03\x38\x00\x00\x00\x00\x00\xc5\x02\x35\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x71\x0d\xa4\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\xd5\x0a\xb9\x0a\x00\x00\x00\x00\x00\x00\xa7\x02\x00\x00\x20\x0c\xbe\x03\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x03\x1a\x00\x00\x00\x76\x1f\x00\x00\x00\x00\xb8\x06\x00\x00\x95\x02\x00\x00\x4c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\x2a\x06\xc3\x00\x00\x00\x8a\x05\x00\x00\x14\x00\x16\x01\x6c\x02\x7d\x01\xa2\x01\xcb\x00\x00\x00\x00\x00\x96\x08\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x99\x08\xe2\x02\x00\x00\x00\x00\xbb\x02\x15\x01\x00\x00\xa8\x0a\xd7\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xca\x15\x71\x02\x5d\x02\x6a\x02\x77\x08\x00\x00\x00\x00\x70\x02\x00\x00\x5b\x08\x00\x00\x40\x00\xc6\x02\x00\x00\x00\x00\x00\x00\x52\x02\x9e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x04\x00\x00\x66\x02\x00\x00\xa8\x13\x16\x17\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x51\x02\x90\x02\xec\x00\x00\x00\x00\x00\x1a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x02\x4f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x9a\x13\xe8\x16\x35\x08\x75\x02\x00\x00\x00\x00\x00\x00\x4a\x02\x5c\x02\x00\x00\x00\x00\x00\x00\x62\x02\x31\x02\x56\x02\xf3\x07\x00\x00\xee\x07\x00\x00\x00\x00\xab\x1d\x90\x1d\x00\x00\x00\x00\x75\x1d\x00\x00\x5a\x1d\x00\x00\x98\x06\x00\x00\x4e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x01\xe9\x07\x00\x00\x7b\x16\x53\x16\x5b\x1f\x00\x00\xe7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x02\x00\x00\x5b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x05\x9b\x00\x78\x00\x50\x00\x89\x16\x00\x00\x00\x00\xac\x03\x3f\x1d\xc7\x1f\x24\x1d\xe2\x1f\x08\x15\x84\x15\xfd\x1f\xf1\x0b\x6f\x0b\xf0\x0c\xbb\x0c\x40\x0c\x3a\x0b\x9b\x0c\x1a\x0b\xfc\x07\x26\x07\xc1\x0b\x2c\x0a\x9d\x09\x00\x00\x40\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x1d\xee\x1c\xdb\x01\xcd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x99\x07\x00\x00\x00\x00\x00\x00\xc6\x01\x61\x04\x00\x00\x73\x13\xda\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x06\x35\x02\x33\x02\xea\x01\x7e\x01\x18\x06\x25\x1f\x00\x00\x00\x00\xa6\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x03\x91\x20\x87\x04\xdd\x01\xce\x07\x00\x00\x00\x00\xa6\x15\x4c\x04\xb7\x01\x00\x00\x00\x00\xda\x13\x26\x03\x00\x00\x00\x00\x6c\x05\x30\x13\x00\x00\x00\x00\xa2\x07\x36\x02\xb6\x0b\x00\x00\x26\x04\xa0\x01\x00\x00\x00\x00\xa7\x01\x4e\x15\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\xb0\x01\x00\x00\x00\x00\xeb\x03\x60\x01\x00\x00\xa9\x16\x00\x00\x00\x00\xc4\x1b\x6a\x07\x14\x01\x40\x20\x18\x14\x28\x20\x9f\x01\x18\x00\x2c\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x84\x20\x47\x07\x77\x20\x68\x14\xaf\x14\x2a\x15\xc5\x03\x4d\x01\x00\x00\x00\x00\x73\x07\xd3\x01\xeb\x04\x27\x07\x00\x00\x20\x07\x00\x00\x15\x07\x00\x00\x00\x00\xbf\x03\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x04\x15\x07\x00\x00\xd9\x06\x00\x00\xa9\x1b\x00\x00\x00\x00\x00\x00\x16\x02\xf7\x01\xa9\x14\x00\x00\x6f\x13\x0d\x0e\xf4\x01\x00\x00\x00\x00\x0a\x14\x00\x00\x96\x06\x00\x00\x00\x04\x00\x00\x3e\x13\x60\x17\x76\x06\x68\x06\x00\x00\x06\x13\x59\x17\x2b\x06\x00\x00\x10\x06\xe2\x05\x00\x00\xdb\x00\x62\x17\x00\x00\x00\x00\xdf\x05\x00\x00\x00\x00\x00\x00\xe0\x16\xd9\x05\x00\x00\x00\x00\xd2\x14\x64\x03\x42\x01\x00\x00\x00\x00\x00\x00\x31\x16\x5c\x01\x00\x00\x00\x00\xff\x05\x00\x00\xf9\x08\x60\x07\x00\x00\xf1\x05\xe4\x05\xe1\x05\x00\x00\x00\x00\x00\x00\x92\x0c\x18\x04\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x57\x01\xae\x05\x93\x05\x78\x05\x00\x00\x31\x1c\x16\x1c\xd3\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x01\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x09\x43\x01\xc4\x07\x3e\x01\x00\x00\x36\x07\x00\x00\x40\x16\xd5\xff\xe1\x14\x00\x00\x00\x00\x00\x00\xc7\x02\x00\x00\x8a\x02\x00\x00\x00\x00\xf9\x00\x96\x14\x00\x00\x00\x00\x13\x1b\x0a\x1f\x00\x00\x91\x1f\x00\x00\xef\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x1b\x9d\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x1e\xd3\x00\xf1\x1a\x00\x00\x00\x00\x7f\x00\x00\x00\xb4\x05\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x01\x67\x01\x36\x01\x1d\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xff\x0e\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x80\x00\x00\x00\x00\x00\x00\x00\x99\x05\x00\x00\x00\x00\x6b\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x09\x5c\x05\x00\x00\x31\x16\x6a\x20\x00\x00\x00\x00\x00\x00\x04\x04\xb9\x16\x00\x00\x00\x00\x22\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x04\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x1e\x00\x00\x00\x00\x00\x00\x1a\x17\xfa\x05\x64\x14\x00\x00\x00\x00\x80\x16\x9a\x06\xca\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x02\xaa\x0d\x36\x0d\xfa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x1e\xd9\xff\x00\x00\x50\x1b\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x91\x06\xbf\x03\x5a\x05\x00\x00\x00\x00\x00\x00\x83\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x68\x1e\x57\x04\x61\x04\x78\x04\x00\x00\x09\x04\x00\x00\x86\x03\x00\x00\x4d\x1e\x00\x00\x00\x00\x5a\x05\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x04\xfb\x1b\xe0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xb8\x1c\x44\x00\x00\x00\x00\x00\x00\x00\x2c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x1b\x00\x00\x00\x00\x73\x1b\x00\x00\x00\x00\x32\x1e\x35\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x1c\xf5\xff\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1e\x00\x00\x5f\x03\x5b\x20\xd0\xff\x00\x00\xfc\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x1d\x00\x00\x00\x00\x00\x00\xec\x01\xd0\xff\x00\x00\xd6\x04\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x1c\x67\x1c\x00\x00\x00\x00\x00\x00\x91\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfa\xff\x3d\xfe\x00\x00\x00\x00\x00\x00\x3d\xfe\x9b\xfe\x8f\xfe\x7d\xfe\x00\x00\x7b\xfe\x77\xfe\x74\xfe\x71\xfe\x6c\xfe\x69\xfe\x67\xfe\x65\xfe\x63\xfe\x61\xfe\x5f\xfe\x5c\xfe\x4f\xfe\x00\x00\xa5\xfe\xa4\xfe\x3d\xfe\x7e\xfe\x7f\xfe\x00\x00\x00\x00\x81\xfe\x80\xfe\x82\xfe\x83\xfe\x00\x00\x00\x00\x00\x00\x45\xfe\x46\xfe\x44\xfe\x43\xfe\xa6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\x00\x00\x00\x00\xc7\xff\xd7\xff\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x00\x00\x00\x00\xa6\xfe\x3e\xfe\x00\x00\xf7\xff\x00\x00\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\x00\x00\x77\xff\x9b\xff\x8a\xff\x9a\xff\x89\xff\x99\xff\x88\xff\x6c\xff\x52\xff\x3d\xfe\x51\xff\x00\x00\xe5\xff\x0a\xff\x08\xff\x09\xff\xa6\xff\xfb\xfe\xfa\xfe\x00\x00\x3c\xfe\x3b\xfe\x00\x00\x3d\xfe\x00\x00\x8d\xff\x7e\xff\x86\xff\x7d\xff\x81\xff\x3d\xfe\x8f\xff\x82\xff\x84\xff\x83\xff\x8c\xff\x85\xff\x80\xff\x8e\xff\x4d\xff\x90\xff\x00\x00\x8b\xff\x4c\xff\x7f\xff\x87\xff\xfe\xfe\x60\xff\x00\x00\x3d\xfe\x00\x00\xf5\xff\x00\x00\x3d\xfe\x00\x00\x3c\xfe\x00\x00\x00\x00\x07\xff\xf9\xfe\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xff\x76\xff\x6b\xff\x26\xff\xa6\xff\x3a\xfe\x00\x00\x5a\xff\x2b\xff\x2f\xff\x2c\xff\x2d\xff\x2e\xff\x3d\xfe\x03\xff\xd7\xfe\xd5\xfe\xf4\xfe\x49\xfe\x00\x00\x96\xff\x75\xff\x6a\xff\x2a\xff\x26\xff\xa6\xff\x00\x00\x00\x00\x5d\xff\x00\x00\x66\xff\x54\xff\x53\xff\x62\xff\x92\xff\x91\xff\x61\xff\x6f\xff\x68\xff\x67\xff\xa9\xff\x6e\xff\x6d\xff\xaa\xff\x7b\xff\x72\xff\x73\xff\x71\xff\x7a\xff\x79\xff\x78\xff\x00\x00\x26\xff\x27\xff\x23\xff\x20\xff\x1f\xff\x24\xff\x16\xff\x28\xff\xa6\xff\x00\x00\x3d\xfe\x22\xff\x00\x00\x94\xff\x7c\xff\x70\xff\x26\xff\xa6\xff\x93\xff\x00\x00\x65\xff\x00\x00\x26\xff\xa6\xff\x3d\xfe\xa8\xff\x3d\xfe\xa7\xff\xf3\xff\x00\x00\x00\x00\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x4b\xfe\x00\x00\x00\x00\xbc\xff\x7d\xfe\x47\xfe\x00\x00\xbb\xff\x00\x00\xb4\xff\xd5\xff\x3d\xfe\xc6\xff\x3d\xfe\x3d\xfe\x00\x00\x85\xfe\x3d\xfe\x86\xfe\x8c\xfe\x42\xfe\x41\xfe\x8a\xfe\x3d\xfe\x88\xfe\x3d\xfe\x84\xfe\x8d\xfe\x8e\xfe\x00\x00\xde\xfe\x8a\xff\x89\xff\x88\xff\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xfe\x00\x00\x5a\xfe\x56\xfe\x55\xfe\x59\xfe\x58\xfe\x57\xfe\x52\xfe\x51\xfe\x50\xfe\x54\xfe\x53\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x95\xfe\x94\xfe\xf8\xff\xf9\xff\x97\xfe\x96\xfe\x00\x00\x00\x00\x91\xfe\x99\xfe\x5b\xfe\x78\xfe\x79\xfe\x7a\xfe\x75\xfe\x76\xfe\x72\xfe\x73\xfe\x6d\xfe\x6f\xfe\x6e\xfe\x70\xfe\x6a\xfe\x6b\xfe\x68\xfe\x66\xfe\x64\xfe\x62\xfe\x00\x00\x00\x00\x60\xfe\x4d\xfe\x4e\xfe\xa3\xfe\x00\x00\xdb\xfe\xd8\xfe\xda\xfe\xd9\xfe\x00\x00\xdc\xfe\xf4\xfe\xc8\xfe\xdd\xfe\xa2\xfe\x00\x00\x00\x00\x40\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x3d\xfe\x00\x00\x00\x00\xbe\xff\x00\x00\xba\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\xb6\xfe\x3d\xfe\x00\x00\xf1\xff\x3d\xfe\x3d\xfe\xb6\xfe\xef\xff\x21\xff\xf4\xfe\x00\x00\x1e\xff\x12\xff\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\xff\x3d\xfe\xb6\xfe\xf0\xff\x4e\xff\x4b\xff\x3d\xfe\x00\x00\x95\xff\x74\xff\x69\xff\x29\xff\x26\xff\xa6\xff\x00\x00\x57\xff\x3d\xfe\xb6\xfe\xee\xff\x49\xfe\x48\xfe\x00\x00\x49\xfe\x82\xfe\x3d\xfe\xef\xfe\xeb\xfe\xe8\xfe\x9a\xff\x89\xff\xe4\xfe\x00\x00\xf3\xfe\xf1\xfe\x00\x00\x3c\xfe\xe0\xfe\xd4\xfe\xec\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x3d\xfe\xb6\xfe\xf2\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\xf6\xfe\xfd\xfe\x02\xff\x06\xff\x09\xff\x05\xff\xf8\xfe\x00\x00\x00\x00\x34\xff\x00\x00\x00\x00\x00\x00\x36\xfe\x00\x00\x38\xfe\x34\xfe\x35\xfe\x5f\xff\x5e\xff\x00\x00\x33\xff\x31\xff\x00\x00\x00\x00\x04\xff\x01\xff\xf5\xfe\x00\x00\x00\x00\xfc\xfe\x00\xff\xa1\xff\x00\x00\xeb\xff\x00\x00\x00\x00\x26\xff\x26\xff\x00\x00\x28\xff\x00\x00\x3d\xfe\x26\xff\xf7\xfe\x00\x00\x3d\xfe\xd6\xfe\x3d\xfe\xe2\xfe\x00\x00\xe3\xfe\xf4\xfe\xc8\xfe\x3d\xfe\x3d\xfe\xe7\xfe\xf4\xfe\xc8\xfe\x3d\xfe\xea\xfe\x3d\xfe\x3d\xfe\xee\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x82\xfe\xd3\xfe\x00\x00\x00\x00\x49\xfe\x82\xfe\xa3\xff\xe7\xff\x3d\xfe\x3d\xfe\xb6\xfe\xed\xff\x00\x00\x00\x00\x3d\xfe\x4b\xff\x9d\xff\xe9\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x0f\xff\x1a\xff\x00\x00\x1d\xff\x1c\xff\x11\xff\x00\x00\x00\x00\xa4\xff\xe8\xff\x00\x00\x00\x00\x00\x00\x9f\xff\x9e\xff\xea\xff\x26\xff\x26\xff\x00\x00\x00\x00\x00\x00\xbd\xff\x4b\xfe\x4b\xfe\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xd6\xff\x00\x00\xd3\xff\x00\x00\xd4\xff\xd2\xff\xd0\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x3d\xfe\xdd\xff\x3d\xfe\x00\x00\x3d\xfe\x00\x00\x89\xfe\x87\xfe\x3d\xfe\xc6\xfe\xc4\xfe\x00\x00\x00\x00\x00\x00\x3c\xfe\xba\xfe\x7c\xfe\xb4\xfe\x00\x00\x5d\xfe\x00\x00\x98\xfe\x00\x00\x9a\xfe\x90\xfe\x5e\xfe\x4c\xfe\xb3\xfe\x00\x00\x00\x00\x00\x00\xac\xfe\xad\xfe\xb9\xfe\x00\x00\x00\x00\x00\x00\xb4\xfe\x00\x00\x00\x00\x00\x00\xc1\xfe\xc2\xfe\xc0\xfe\xc3\xfe\xc5\xfe\xc7\xfe\x3c\xfe\x00\x00\x00\x00\x9e\xfe\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\xc9\xff\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xc3\xff\xc2\xff\xb6\xfe\xb6\xfe\x00\x00\x64\xff\x63\xff\x00\x00\x1b\xff\x10\xff\x00\x00\x15\xff\x19\xff\x0d\xff\x0e\xff\x00\x00\x18\xff\x0b\xff\x3d\xfe\x40\xff\x49\xff\x00\x00\x00\x00\x3d\xfe\x3c\xfe\x4a\xff\x4f\xff\x3d\xfe\x5c\xff\x5b\xff\xa2\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x82\xfe\x3d\xfe\xd1\xfe\x00\x00\xd2\xfe\xcc\xfe\x00\x00\x00\x00\xed\xfe\xec\xfe\xe9\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe6\xfe\xe5\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe1\xfe\xf0\xfe\xf2\xfe\xdf\xfe\x00\x00\x00\x00\x00\x00\x26\xff\x59\xff\x58\xff\xb5\xfe\xff\xfe\xf4\xff\x00\x00\x00\x00\x00\x00\x38\xff\x00\x00\x00\x00\x36\xfe\x37\xfe\x39\xfe\x31\xfe\x00\x00\x32\xfe\x32\xff\x37\xff\x30\xff\x00\x00\x36\xff\x00\x00\x3c\xfe\x3c\xfe\x00\x00\xcf\xfe\xcb\xfe\x00\x00\x00\x00\xd0\xfe\xca\xfe\x56\xff\x55\xff\x46\xff\x44\xff\x3c\xff\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x48\xff\x3d\xfe\x47\xff\x3d\xfe\x3f\xff\x00\x00\x50\xff\x17\xff\x00\x00\x00\x00\x14\xff\x25\xff\x9c\xff\xa0\xff\x00\x00\x4b\xfe\x4b\xfe\x00\x00\xda\xff\x00\x00\xb2\xff\xb1\xff\x00\x00\x00\x00\xb9\xff\xd8\xff\xc8\xff\xce\xff\xcc\xff\xcd\xff\x00\x00\xcb\xff\x9f\xfe\xa0\xfe\x00\x00\x00\x00\xa1\xfe\xbf\xfe\xbd\xfe\xbe\xfe\xbc\xfe\x00\x00\xa9\xfe\x00\x00\xae\xfe\xab\xfe\xa8\xfe\xaf\xfe\xb2\xfe\x00\x00\x93\xfe\xb1\xfe\x00\x00\x92\xfe\xaa\xfe\x00\x00\x00\x00\xb8\xfe\xbb\xfe\x9d\xfe\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\xc1\xff\x00\x00\x00\x00\xc4\xff\x13\xff\x3e\xff\x00\x00\x42\xff\x00\x00\x00\x00\x45\xff\x3b\xff\x00\x00\x39\xff\xc9\xfe\x00\x00\xce\xfe\x35\xff\x33\xfe\x00\x00\x30\xfe\xcd\xfe\x3a\xff\x3d\xfe\x43\xff\x3d\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb0\xff\x00\x00\x00\x00\x00\x00\x9c\xfe\xb7\xfe\x00\x00\xb0\xfe\xa7\xfe\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\xd6\xff\xc0\xff\x41\xff\xbf\xff\x00\x00\xac\xff\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\xb6\xff\xad\xff\xae\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x02\x00\x03\x00\x04\x00\x36\x00\x74\x00\x15\x00\x16\x00\x17\x00\x15\x00\x16\x00\x17\x00\x17\x00\x04\x00\x35\x00\x01\x00\x01\x00\x18\x00\x03\x00\x01\x00\x04\x00\x02\x00\x1c\x00\x02\x00\x19\x00\x74\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x03\x00\x14\x00\x02\x00\x5b\x00\x0d\x00\x33\x00\x39\x00\x20\x00\x21\x00\x37\x00\x23\x00\x0d\x00\x21\x00\x02\x00\x03\x00\x04\x00\x1e\x00\x2e\x00\x2a\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x01\x00\x79\x00\x36\x00\x76\x00\x01\x00\x2e\x00\x36\x00\x76\x00\x36\x00\x19\x00\x09\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x74\x00\x01\x00\x5e\x00\x74\x00\x74\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x5e\x00\x0d\x00\x02\x00\x03\x00\x04\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x42\x00\x43\x00\x44\x00\x5b\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x19\x00\x5e\x00\x1b\x00\x79\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x01\x00\x01\x00\x79\x00\x03\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x02\x00\x0d\x00\x0d\x00\x36\x00\x36\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x76\x00\x21\x00\x1e\x00\x23\x00\x23\x00\x01\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x7b\x00\x79\x00\x01\x00\x0d\x00\x02\x00\x33\x00\x01\x00\x2c\x00\x36\x00\x36\x00\x2a\x00\x5c\x00\x54\x00\x36\x00\x0d\x00\x02\x00\x54\x00\x01\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x43\x00\x20\x00\x21\x00\x0d\x00\x23\x00\x48\x00\x77\x00\x78\x00\x79\x00\x01\x00\x21\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x79\x00\x01\x00\x1e\x00\x2a\x00\x56\x00\x33\x00\x0d\x00\x79\x00\x36\x00\x5c\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x5c\x00\x5d\x00\x36\x00\x01\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x02\x00\x21\x00\x0d\x00\x23\x00\x43\x00\x36\x00\x78\x00\x79\x00\x79\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x5c\x00\x5d\x00\x5e\x00\x02\x00\x07\x00\x33\x00\x01\x00\x2d\x00\x36\x00\x56\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x21\x00\x23\x00\x23\x00\x5c\x00\x5d\x00\x79\x00\x07\x00\x01\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x07\x00\x79\x00\x2a\x00\x5c\x00\x04\x00\x33\x00\x76\x00\x0d\x00\x37\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x01\x00\x23\x00\x43\x00\x20\x00\x21\x00\x79\x00\x23\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x0d\x00\x2a\x00\x2b\x00\x2c\x00\x02\x00\x33\x00\x79\x00\x1c\x00\x36\x00\x56\x00\x33\x00\x7a\x00\x7b\x00\x36\x00\x1c\x00\x5c\x00\x5d\x00\x5e\x00\x4b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x74\x00\x41\x00\x42\x00\x43\x00\x44\x00\x21\x00\x2d\x00\x23\x00\x77\x00\x78\x00\x79\x00\x79\x00\x79\x00\x39\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x36\x00\x54\x00\x39\x00\x2a\x00\x5c\x00\x33\x00\x5e\x00\x03\x00\x36\x00\x21\x00\x06\x00\x0d\x00\x54\x00\x43\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x48\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x36\x00\x54\x00\x56\x00\x78\x00\x79\x00\x1f\x00\x34\x00\x35\x00\x5c\x00\x79\x00\x5e\x00\x0d\x00\x20\x00\x21\x00\x2a\x00\x20\x00\x21\x00\x2d\x00\x05\x00\x06\x00\x07\x00\x1e\x00\x09\x00\x1a\x00\x0b\x00\x0c\x00\x0d\x00\x07\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2d\x00\x36\x00\x5c\x00\x5d\x00\x36\x00\x19\x00\x01\x00\x1b\x00\x03\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x34\x00\x35\x00\x5c\x00\x5d\x00\x5e\x00\x74\x00\x33\x00\x54\x00\x0a\x00\x79\x00\x37\x00\x5a\x00\x0e\x00\x5c\x00\x76\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x54\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x1c\x00\x73\x00\x74\x00\x1c\x00\x76\x00\x42\x00\x43\x00\x44\x00\x79\x00\x2c\x00\x5a\x00\x79\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x39\x00\x6e\x00\x76\x00\x39\x00\x54\x00\x1c\x00\x73\x00\x74\x00\x4b\x00\x76\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x0a\x00\x09\x00\x79\x00\x0b\x00\x0c\x00\x0d\x00\x76\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x1c\x00\x78\x00\x79\x00\x1c\x00\x19\x00\x39\x00\x1b\x00\x76\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x77\x00\x78\x00\x79\x00\x1c\x00\x39\x00\x33\x00\x07\x00\x39\x00\x1c\x00\x37\x00\x1c\x00\x1c\x00\x01\x00\x1a\x00\x2a\x00\x3c\x00\x3d\x00\x2d\x00\x01\x00\x1a\x00\x03\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x07\x00\x22\x00\x23\x00\x1a\x00\x25\x00\x0d\x00\x27\x00\x39\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x39\x00\x07\x00\x39\x00\x39\x00\x20\x00\x21\x00\x33\x00\x5a\x00\x76\x00\x5c\x00\x37\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x36\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x73\x00\x74\x00\x1a\x00\x76\x00\x77\x00\x78\x00\x79\x00\x79\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x50\x00\x5c\x00\x1a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x07\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x07\x00\x73\x00\x74\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x01\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x2a\x00\x74\x00\x03\x00\x2d\x00\x0d\x00\x06\x00\x22\x00\x23\x00\x79\x00\x25\x00\x76\x00\x27\x00\x79\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x02\x00\x03\x00\x36\x00\x1e\x00\x06\x00\x33\x00\x58\x00\x59\x00\x2a\x00\x37\x00\x36\x00\x2d\x00\x1f\x00\x1a\x00\x36\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x22\x00\x23\x00\x76\x00\x25\x00\x4c\x00\x27\x00\x08\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x33\x00\x5a\x00\x75\x00\x5c\x00\x37\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x76\x00\x6e\x00\x5c\x00\x5d\x00\x6d\x00\x4c\x00\x73\x00\x74\x00\x00\x00\x01\x00\x77\x00\x78\x00\x79\x00\x78\x00\x79\x00\x01\x00\x77\x00\x78\x00\x79\x00\x5a\x00\x2b\x00\x5c\x00\x5b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x07\x00\x6e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x73\x00\x74\x00\x36\x00\x02\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x5b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x46\x00\x47\x00\x02\x00\x22\x00\x23\x00\x2b\x00\x25\x00\x01\x00\x27\x00\x01\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x19\x00\x04\x00\x1b\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x37\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x32\x00\x13\x00\x14\x00\x15\x00\x16\x00\x5b\x00\x33\x00\x01\x00\x4c\x00\x03\x00\x37\x00\x5c\x00\x5d\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x5c\x00\x5d\x00\x5a\x00\x5e\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5a\x00\x6e\x00\x5c\x00\x04\x00\x5e\x00\x5f\x00\x73\x00\x74\x00\x2a\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x21\x00\x5e\x00\x23\x00\x2a\x00\x2b\x00\x07\x00\x2a\x00\x2b\x00\x23\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x02\x00\x2a\x00\x2b\x00\x2c\x00\x33\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x33\x00\x1b\x00\x2b\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x36\x00\x5c\x00\x5d\x00\x33\x00\x4e\x00\x4f\x00\x50\x00\x37\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x2c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x5a\x00\x2a\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x33\x00\x79\x00\x2b\x00\x21\x00\x37\x00\x23\x00\x1e\x00\x79\x00\x5e\x00\x23\x00\x5c\x00\x5d\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x33\x00\x17\x00\x18\x00\x36\x00\x33\x00\x79\x00\x1e\x00\x36\x00\x5e\x00\x77\x00\x78\x00\x79\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x30\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\x11\x00\x12\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x36\x00\x77\x00\x78\x00\x79\x00\x04\x00\x33\x00\x77\x00\x78\x00\x79\x00\x37\x00\x23\x00\x41\x00\x42\x00\x43\x00\x44\x00\x32\x00\x04\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x04\x00\x78\x00\x79\x00\x5c\x00\x5d\x00\x33\x00\x0b\x00\x0c\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x01\x00\x2d\x00\x03\x00\x2a\x00\x2b\x00\x33\x00\x3c\x00\x78\x00\x79\x00\x37\x00\x2a\x00\x2b\x00\x0d\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x19\x00\x2b\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x2b\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x05\x00\x06\x00\x07\x00\x5c\x00\x5d\x00\x33\x00\x36\x00\x1c\x00\x1d\x00\x37\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x36\x00\x21\x00\x2c\x00\x23\x00\x43\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x43\x00\x05\x00\x06\x00\x07\x00\x02\x00\x48\x00\x33\x00\x77\x00\x78\x00\x79\x00\x56\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x17\x00\x18\x00\x5e\x00\x56\x00\x02\x00\x42\x00\x43\x00\x44\x00\x02\x00\x5c\x00\x5d\x00\x5e\x00\x05\x00\x06\x00\x07\x00\x11\x00\x12\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x37\x00\x02\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x0b\x00\x0c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x02\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x79\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x73\x00\x74\x00\x1e\x00\x76\x00\x5a\x00\x5c\x00\x5c\x00\x2d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1e\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x30\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x5b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x36\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x43\x00\x04\x00\x02\x00\x36\x00\x02\x00\x48\x00\x4d\x00\x04\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x04\x00\x56\x00\x04\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x3b\x00\x3c\x00\x3d\x00\x4e\x00\x4f\x00\x50\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5e\x00\x5c\x00\x05\x00\x06\x00\x07\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x30\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x02\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x02\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x79\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x73\x00\x74\x00\x1f\x00\x76\x00\x2a\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x5e\x00\x04\x00\x04\x00\x4e\x00\x4f\x00\x50\x00\x4e\x00\x4f\x00\x50\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x4e\x00\x4f\x00\x50\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x4e\x00\x4f\x00\x50\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x01\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1f\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x08\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5e\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x1f\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x2b\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x5b\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x77\x00\x78\x00\x79\x00\x5c\x00\x2a\x00\x5a\x00\x46\x00\x5c\x00\x02\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2a\x00\x6e\x00\x2a\x00\x70\x00\x78\x00\x79\x00\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x02\x00\x02\x00\x5a\x00\x79\x00\x5c\x00\x5e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2a\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1e\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x1a\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1b\x00\x6e\x00\x0c\x00\x0d\x00\x19\x00\x10\x00\x73\x00\x74\x00\x04\x00\x76\x00\x01\x00\x5b\x00\x03\x00\x02\x00\x02\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x20\x00\x21\x00\x33\x00\x23\x00\x57\x00\x2b\x00\x37\x00\x4e\x00\x4f\x00\x50\x00\x2a\x00\x2b\x00\x2c\x00\x46\x00\x4e\x00\x4f\x00\x50\x00\x2b\x00\x5e\x00\x33\x00\x2c\x00\x01\x00\x36\x00\x2c\x00\x36\x00\x5a\x00\x01\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x41\x00\x42\x00\x43\x00\x44\x00\x43\x00\x0d\x00\x2c\x00\x30\x00\x5a\x00\x48\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x37\x00\x01\x00\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x56\x00\x03\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5c\x00\x5d\x00\x5e\x00\x01\x00\x73\x00\x74\x00\x2b\x00\x02\x00\x77\x00\x78\x00\x79\x00\x30\x00\x31\x00\x2c\x00\x33\x00\x02\x00\x35\x00\x5b\x00\x5e\x00\x38\x00\x01\x00\x65\x00\x3b\x00\x01\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x4e\x00\x4f\x00\x50\x00\x44\x00\x45\x00\x01\x00\x47\x00\x04\x00\x5e\x00\x4a\x00\x4b\x00\x01\x00\x4d\x00\x4e\x00\x5e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x65\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x01\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x65\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x01\x00\x01\x00\x10\x00\x4e\x00\x4f\x00\x50\x00\x5a\x00\x1e\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x1b\x00\x2b\x00\x38\x00\x2b\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x65\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x01\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x77\x00\x78\x00\x79\x00\x01\x00\x01\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5b\x00\x31\x00\x10\x00\x65\x00\x2a\x00\x5a\x00\x36\x00\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x1b\x00\x3e\x00\x77\x00\x78\x00\x79\x00\x1a\x00\x43\x00\x77\x00\x78\x00\x79\x00\x47\x00\x48\x00\x77\x00\x78\x00\x79\x00\x19\x00\x4d\x00\x73\x00\x74\x00\x50\x00\x2f\x00\x52\x00\x31\x00\x10\x00\x33\x00\x56\x00\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x5e\x00\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x36\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\x19\x00\xff\xff\x1b\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\x2f\x00\xff\xff\x31\x00\x33\x00\x33\x00\xff\xff\x35\x00\x37\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x78\x00\x79\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x77\x00\x78\x00\x79\x00\xff\xff\x37\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x77\x00\x78\x00\x79\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\x1b\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\x42\x00\x43\x00\x44\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x01\x00\x02\x00\x03\x00\x44\x00\x45\x00\x77\x00\x78\x00\x79\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x04\x00\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x78\x00\x79\x00\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x01\x00\x43\x00\x03\x00\xff\xff\x05\x00\x06\x00\x48\x00\xff\xff\x09\x00\x0a\x00\x1b\x00\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x56\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x01\x00\x02\x00\x03\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x0d\x00\x0e\x00\x0f\x00\x44\x00\x45\x00\x01\x00\x02\x00\x03\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x0d\x00\x0e\x00\x0f\x00\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\x36\x00\xff\xff\xff\xff\xff\xff\x48\x00\x3b\x00\x3c\x00\x3d\x00\x1b\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x5a\x00\x56\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x2b\x00\x2c\x00\x5e\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x37\x00\xff\xff\x39\x00\x3a\x00\x37\x00\xff\xff\x73\x00\x74\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x49\x00\x46\x00\x47\x00\x4c\x00\xff\xff\xff\xff\x4f\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x78\x00\x79\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\x36\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x43\x00\x01\x00\xff\xff\x03\x00\xff\xff\x48\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x4d\x00\xff\xff\x5a\x00\x0d\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x1b\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2f\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x43\x00\x03\x00\xff\xff\x01\x00\xff\xff\x48\x00\x01\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x0d\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x46\x00\x47\x00\x0d\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x36\x00\x5a\x00\xff\xff\x5c\x00\x36\x00\x5e\x00\x5f\x00\x36\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x78\x00\x79\x00\xff\xff\x43\x00\x48\x00\xff\xff\x43\x00\xff\xff\x48\x00\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\x2f\x00\x5a\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\x5f\x00\x36\x00\x56\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\x03\x00\xff\xff\x0d\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\x2c\x00\x2d\x00\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x1b\x00\x46\x00\x47\x00\x5a\x00\x01\x00\x5c\x00\x03\x00\x5e\x00\x5f\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x73\x00\x74\x00\x1b\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\x78\x00\x79\x00\xff\xff\x01\x00\xff\xff\x03\x00\x73\x00\x74\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\x36\x00\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5e\x00\xff\xff\x10\x00\x2f\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5a\x00\x1b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x02\x00\xff\xff\xff\xff\x0d\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x79\x00\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\xff\xff\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x1b\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2c\x00\xff\xff\x5a\x00\x2f\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x1b\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\x2f\x00\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x2f\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\x4c\x00\x73\x00\x74\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x78\x00\x79\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\x37\x00\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1b\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x56\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x4c\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xff\xff\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\x0d\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x0d\x00\x38\x00\xff\xff\x01\x00\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\x0d\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x1e\x00\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x36\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x43\x00\x35\x00\xff\xff\xff\xff\x38\x00\x48\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x56\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x5c\x00\x4e\x00\x5e\x00\xff\xff\x51\x00\x36\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\x1e\x00\x1f\x00\x48\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x5c\x00\xff\xff\x5e\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x78\x00\x79\x00\x37\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x21\x00\x36\x00\x23\x00\xff\xff\x77\x00\x78\x00\x79\x00\x4a\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x79\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x33\x00\x79\x00\xff\xff\x36\x00\x78\x00\x79\x00\x33\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x5a\x00\x4c\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x22\x00\x23\x00\x37\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x22\x00\x23\x00\x4c\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\x36\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x23\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x36\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x37\x00\xff\xff\xff\xff\x36\x00\x71\x00\xff\xff\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x79\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x37\x00\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2b\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5d\x00\x5e\x00\x5f\x00\x2b\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x43\x00\xff\xff\xff\xff\x36\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x3e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x43\x00\xff\xff\xff\xff\x56\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x5e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x2c\x00\xff\xff\xff\xff\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x5e\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x79\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x31\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x88\x00\x4c\x00\x4d\x00\xa2\x01\x7b\x03\x5e\x03\x12\x03\x13\x03\x11\x03\x12\x03\x13\x03\x60\x03\x3d\xfe\xe6\x02\x25\x02\x8d\x01\x72\x03\xaa\x00\xcb\x01\x35\x03\x25\x03\x1a\x02\x7a\x03\x4e\x00\x69\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xd4\x02\x16\x03\xf8\x00\x7b\x02\x82\x02\xef\x00\x5f\x00\x84\x01\xc7\x00\xb9\x00\x60\x00\xc8\x00\xf7\x01\xbc\x00\x3d\x01\x4c\x00\x4d\x00\x75\x01\x36\x03\x7b\x03\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x25\x02\x4f\x03\xba\x00\x83\x02\xcb\x01\x76\x01\xbd\x00\xe2\x01\xf9\x00\x4e\x00\x71\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x14\x03\x97\x01\x86\x00\x14\x03\x14\x03\x84\x00\x5f\x00\x86\x00\x73\x03\x84\x00\x60\x00\x86\x00\x86\x00\xd6\x00\x4b\x00\x4c\x00\x4d\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xf0\x00\x4b\x00\xc8\x01\x63\x00\xc9\x01\x2a\x00\xb6\x00\x84\x00\x98\x01\x86\x00\x4e\x00\x86\x00\x4f\x00\xc9\x00\x50\x00\x51\x00\x52\x00\xbe\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xaa\x00\xcb\x01\x06\x02\x4f\x03\xaa\x00\x84\x00\x5f\x00\x86\x00\x6a\x03\x84\x00\x60\x00\x86\x00\x55\x03\xcc\x01\x07\x02\xdd\x01\xbd\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x39\x03\xab\x00\xfb\x02\xac\x00\xc4\x00\x25\x02\x3b\x03\x84\x00\x98\x01\x86\x00\xad\x00\x5d\x00\x5e\x00\xd7\x00\xe1\x02\xb7\x00\xd3\x02\x26\x02\xe0\x02\x5f\x00\x25\x02\x9d\x01\xae\x00\xc5\x00\x56\x03\xde\x01\x0a\x03\x3c\xfe\xf7\x01\x6d\x03\x0b\x03\xf6\x01\x26\x02\xaf\x00\x62\x00\x63\x00\x64\x00\xb0\x00\x66\x00\x67\x00\x3c\xfe\xd8\x00\xb9\x00\xf7\x01\xd9\x00\x3c\xfe\x68\x00\x69\x00\x6a\x00\xcb\x01\xb5\x00\xda\x00\x5d\x00\x5e\x00\x9e\x01\xbe\x00\xd4\x02\x6e\x03\xe1\x02\x3c\xfe\x5f\x00\xcc\x01\x60\x02\xba\x00\x84\x00\x84\x00\xd7\x00\x86\x00\xf7\x01\xf0\x00\x4b\x00\xb6\x00\xd5\x00\xa1\x00\xdb\x00\x62\x00\x63\x00\x64\x00\xdc\x00\x66\x00\x67\x00\x54\x03\x41\x03\x9f\x01\xd6\x00\xa0\x01\xa2\x00\xae\x00\xb1\x00\x6a\x00\xc6\x00\xa3\x00\xa1\x01\x5d\x00\x5e\x00\x96\x00\x84\x00\xd7\x00\x86\x00\xf9\x01\x19\x03\x5f\x00\xec\x02\xe8\x02\xa2\x01\xa4\x00\x1a\x03\x84\x00\xd7\x00\x86\x00\x42\x03\x84\x00\xd7\x00\x86\x00\xf7\x01\xa3\x01\x62\x00\x63\x00\x64\x00\xa4\x01\x66\x00\x67\x00\x84\x00\xd7\x00\x97\x00\xc3\x00\x98\x00\xc4\x00\xf0\x00\x4b\x00\xdd\x00\x1b\x03\x6c\x00\x99\x00\x5d\x00\x5e\x00\x86\x02\x1d\x03\xb7\x00\xfa\x01\x84\x00\x89\x02\x5f\x00\x28\x03\x6d\x00\x0c\x02\xc5\x00\x84\x00\x98\x01\x86\x00\xf0\x00\x4b\x00\xc1\x02\x80\x02\x6a\x00\xa1\x00\x9a\x00\x62\x00\x63\x00\x64\x00\x9b\x00\x66\x00\x67\x00\x84\x00\xd7\x00\xab\x00\xcb\x01\xac\x00\xa2\x00\xd8\x00\xb9\x00\x9c\x00\xd9\x00\xa3\x00\xad\x00\x5d\x00\x5e\x00\x1c\x03\xcc\x01\xda\x00\x5d\x00\x5e\x00\x67\x02\x5f\x00\x60\x02\x98\x02\xae\x00\xa4\x00\x5f\x00\xda\x01\xdb\x01\xba\x00\x99\x02\x84\x00\xd7\x00\x86\x00\x8c\x02\xaf\x00\x62\x00\x63\x00\xd0\x01\x9a\x02\xdb\x00\x62\x00\x63\x00\xd0\x01\x9f\x01\xa8\x02\xa0\x01\x0d\x02\x8c\x00\x6a\x00\x9c\x00\xc6\x00\x84\x01\xa1\x01\x5d\x00\x5e\x00\x97\x01\xa1\x00\xb4\x02\x84\x01\x68\x02\x84\x00\x5f\x00\x86\x00\xa8\xfe\xa2\x01\xbc\x00\xa8\xfe\xd6\x00\xec\x01\xa2\x00\x6e\x03\x32\x00\x33\x00\xd7\x01\xa3\x00\xa3\x01\x62\x00\x63\x00\xd0\x01\x90\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x02\xbd\x00\x16\x02\xa4\x00\x87\x02\x6a\x00\xa8\xfe\xda\x02\xe1\x01\x84\x00\xdd\x00\x86\x00\x26\x02\xc0\x00\xb9\x00\x37\x03\xb8\x00\xb9\x00\x38\x03\x46\x02\x32\x00\x33\x00\x91\x02\x8d\x02\x19\x02\x48\x02\x49\x02\x4a\x02\x1b\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x02\xba\x00\xf0\x00\x4b\x00\xba\x00\x4b\x02\xa9\x00\x4f\x00\xaa\x00\x50\x00\x4c\x02\x4d\x02\x9c\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xe0\x01\xe1\x01\x84\x00\x98\x01\x86\x00\x42\x02\x5f\x00\x20\x02\x70\x01\xbe\x00\x4f\x02\x06\x00\x71\x01\x07\x00\xe2\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2f\x02\x39\x00\x84\x00\xd7\x00\x86\x00\x89\x01\x18\x00\x19\x00\xa8\x01\x3a\x00\x92\x00\x63\x00\xe9\x01\xc1\x00\xe5\xff\x06\x00\xbb\x00\x07\x00\x86\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x84\x01\x39\x00\xe2\x01\x84\x01\x35\x02\xc6\x01\x18\x00\x19\x00\x43\x02\x3a\x00\x68\x00\xc3\x01\x6a\x00\x46\x02\x32\x00\x33\x00\x44\x02\x47\x02\x60\x02\x48\x02\x49\x02\x4a\x02\x3f\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x92\x01\x1a\x02\x95\x00\x6a\x00\x83\x01\x4b\x02\x84\x01\x4f\x00\x40\x01\x50\x00\x4c\x02\x4d\x02\xd6\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x70\x03\x8c\x00\x6a\x00\x89\x01\x84\x01\x5f\x00\x86\x01\x84\x01\x99\x01\x4f\x02\xa8\x01\xc6\x01\x97\x01\x82\x01\xea\x02\x23\x02\xcf\x00\xeb\x02\x06\x02\x88\x01\xaa\x00\xc8\x01\x63\x00\xc9\x01\xd6\x00\x8a\x01\x0e\x01\x55\x00\x98\x01\x0f\x01\x07\x02\x10\x01\x84\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x84\x01\x9a\x01\x84\x01\x84\x01\xc0\x00\xb9\x00\x5f\x00\x06\x00\x9b\x01\x07\x00\x12\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xba\x00\x39\x00\x84\x00\xd7\x00\x86\x00\x68\x01\x18\x00\x19\x00\xa7\x01\x3a\x00\x68\x00\xc3\x01\x6a\x00\x9c\x00\xa9\x01\xcf\x01\x62\x00\x63\x00\xd0\x01\x06\x00\xbc\x01\x07\x00\xc5\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0d\x01\x14\x01\x84\x00\x98\x01\x86\x00\xc7\x01\x18\x00\x19\x00\x84\x00\xd7\x00\x68\x00\x15\x01\x6a\x00\xf6\x01\x9c\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x30\x03\xd4\x01\x75\x02\x31\x03\xf7\x01\x76\x02\x0e\x01\x55\x00\xc1\x00\x0f\x01\xd5\x01\x10\x01\x9c\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x20\x03\x21\x03\x9f\x00\x04\x03\x22\x03\x5f\x00\x2b\x03\x2c\x03\xdd\x02\x12\x01\xae\x00\xde\x02\x2e\x03\xa4\x00\xae\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x9c\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\xe7\x00\x0e\x01\x55\x00\xed\x00\x0f\x01\x69\x01\x10\x01\xfa\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x5f\x00\x06\x00\x04\x01\x07\x00\x12\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x01\x14\x01\x84\x00\xd7\x00\x2b\x01\x6b\x01\x18\x00\x19\x00\x87\x00\x05\x00\x68\x00\x15\x01\x6a\x00\x2d\x02\x6a\x00\x05\x00\x7f\x02\x80\x02\x6a\x00\x06\x00\x7d\x03\x07\x00\x2a\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0d\x01\x14\x01\x38\x02\x62\x00\x63\x00\xd0\x01\x18\x00\x19\x00\xae\x00\x7e\x03\x68\x00\x15\x01\x6a\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x2a\x00\xd1\x01\x62\x00\x63\x00\x64\x00\xb5\x02\xd2\x01\x67\x00\x7f\x03\x0e\x01\x55\x00\x75\x03\x0f\x01\x76\x03\x10\x01\x77\x03\x11\x01\x5c\x00\x5d\x00\x5e\x00\x38\x03\xa6\x00\xa7\x00\xbe\x01\x69\x03\x4f\x00\x5f\x00\x50\x00\xbf\x01\xc0\x01\x12\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5a\x03\x20\x01\x21\x01\x22\x01\x23\x01\x2a\x00\x5f\x00\x65\x01\x13\x01\xaa\x00\xc2\x01\xf0\x00\x4b\x00\x2d\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x66\x01\x3d\x03\x3e\x03\x06\x00\x86\x00\x07\x00\x6c\x03\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x06\x00\x14\x01\x07\x00\x58\x03\x00\x01\x09\x00\x18\x00\x19\x00\xfe\x02\xff\x02\x68\x00\x15\x01\x6a\x00\x97\x00\x86\x00\x98\x00\x00\x03\x01\x03\xee\x01\xfa\x01\x19\x03\x98\x00\x99\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5d\x03\x99\x00\x5d\x00\x5e\x00\x5f\x00\x5e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x5f\x00\x4f\x00\x60\x03\x50\x00\xbf\x01\xc0\x01\x63\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x17\x02\xfa\x01\x8f\x02\xa2\x01\xf0\x00\x4b\x00\x5f\x00\x26\x02\xa6\x00\xa7\x00\xc2\x01\x49\x03\x8c\x00\x6a\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbe\x01\x64\x03\x4f\x00\x65\x03\x50\x00\xbf\x01\xc0\x01\x3d\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x06\x00\x40\x03\x07\x00\x3f\x03\x02\x01\x09\x00\x5f\x00\x9c\x00\x43\x03\x9f\x01\xc2\x01\xa0\x01\x49\x03\x9c\x00\x86\x00\xac\x00\xf0\x00\x4b\x00\xa1\x01\x5d\x00\x5e\x00\x21\x02\xad\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5f\x00\x1e\x01\x1f\x01\xa2\x01\x5f\x00\x9c\x00\x4f\x03\xae\x00\x86\x00\x68\x00\xc3\x01\x6a\x00\xbe\x01\x51\x03\x4f\x00\x53\x03\x50\x00\xbf\x01\xc0\x01\x86\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x30\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xc2\x01\x94\x00\x67\x00\x24\x01\x25\x01\x68\x00\xc3\x01\x6a\x00\xbe\x01\xe3\x02\x4f\x00\x86\x00\x50\x00\xbf\x01\xc0\x01\xf0\x02\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\xae\x00\xfb\x02\xfc\x02\x6a\x00\xf1\x02\x5f\x00\x4a\x03\x8c\x00\x6a\x00\xc2\x01\xa0\x01\xd1\x01\x62\x00\x63\x00\xd0\x01\x4c\x03\xf4\x02\xa1\x01\x5d\x00\x5e\x00\x36\x02\xf5\x02\x95\x01\x6a\x00\xf0\x00\x4b\x00\x5f\x00\x26\x01\x27\x01\xa2\x01\xf9\x02\x62\x00\x63\x00\xd0\x01\xf6\x02\x68\x00\xc3\x01\x6a\x00\xbe\x01\xf7\x02\x4f\x00\x0a\x03\x50\x00\xbf\x01\xc0\x01\xee\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xbd\x01\x06\x02\x18\x03\xaa\x00\xe4\x00\xe5\x00\x5f\x00\x0d\x03\xd3\x01\x6a\x00\xc2\x01\xe6\x00\xe7\x00\x07\x02\x0e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x0f\x03\x4f\x00\x10\x03\x50\x00\xbf\x01\xc0\x01\x17\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\x6f\x03\x32\x00\x33\x00\xf0\x00\x4b\x00\x5f\x00\xa1\x00\x18\x01\x19\x01\xc2\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xa1\x00\x97\x00\x3d\x00\x98\x00\xa2\x00\x4b\x03\x8c\x00\x6a\x00\x2b\x03\xa3\x00\x99\x00\x5d\x00\x5e\x00\xa2\x00\x45\x03\x32\x00\x33\x00\x1f\x03\xa3\x00\x5f\x00\x68\x00\xc3\x01\x6a\x00\xa4\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x01\x1f\x01\x86\x00\xa4\x00\x23\x03\xc8\x01\x63\x00\xc9\x01\x26\x03\x84\x00\xd7\x00\x86\x00\x10\x03\x32\x00\x33\x00\x24\x01\x25\x01\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe8\x01\x27\x03\x68\x00\xc3\x01\x6a\x00\xf1\x02\x8c\x00\x6a\x00\x26\x01\x27\x01\x8f\x00\x62\x00\x63\x00\xd0\x01\x06\x00\x7c\x02\x07\x00\x7d\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x00\x39\x00\xf2\x02\x8c\x00\x6a\x00\x63\x02\x18\x00\x19\x00\x3e\xfe\x3a\x00\x06\x00\xbc\x01\x07\x00\x8c\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x92\x02\x39\x00\x68\x00\x91\x00\x6a\x00\x86\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x2a\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x02\x39\x00\x95\x02\x32\x00\x33\x00\xa1\x00\x18\x00\x19\x00\x9d\x02\x3a\x00\xa5\x02\xa7\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xee\x01\xa2\x00\xca\x00\xb3\x02\xa2\x01\xb4\x02\xa3\x00\xbc\x02\xbd\x02\x9e\x02\xce\x00\xcf\x00\x96\x02\x32\x00\x33\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbf\x02\xa4\x00\xc0\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x2a\x02\xce\x00\xcf\x00\x05\x03\xa6\x00\xa7\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\x86\x00\xd1\x02\x97\x02\x32\x00\x33\x00\x66\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x86\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xcb\x00\xd6\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd7\x02\xd2\x00\x62\x00\x63\x00\x64\x00\xd3\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\xda\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x9c\x00\x39\x00\x26\x02\xa6\x00\xa7\x00\xdc\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xdf\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xdf\x01\x39\x00\x23\x03\xa6\x00\xa7\x00\xe0\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xe5\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xec\x01\x39\x00\x41\x02\x32\x00\x33\x00\xe4\x01\x18\x00\x19\x00\xee\x01\x3a\x00\xfb\x01\xfc\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x86\x00\x12\x02\xe0\x00\x26\x02\xa6\x00\xa7\x00\xa2\x02\xa6\x00\xa7\x00\x2a\x02\xce\x00\xcf\x00\x52\x02\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xa3\x02\xa6\x00\xa7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x26\x02\xa6\x00\xa7\x00\xb8\x02\x8c\x00\x6a\x00\x76\x01\x32\x00\x33\x00\xbd\x02\x8c\x00\x6a\x00\xc2\x02\x8c\x00\x6a\x00\xee\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe1\x00\x19\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3d\x00\xd2\x00\x62\x00\x63\x00\x64\x00\xe2\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\x20\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xee\x01\x39\x00\xc3\x02\x8c\x00\x6a\x00\x28\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x29\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x78\x01\x39\x00\xc4\x02\x8c\x00\x6a\x00\xee\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x34\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x86\x00\x39\x00\xf1\x00\x32\x00\x33\x00\xee\x01\x18\x00\x19\x00\x3a\x02\x3a\x00\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x40\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x3d\x02\x92\x00\x63\x00\xe9\x01\x3e\x02\x2a\x00\x31\x00\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xc8\x02\x8c\x00\x6a\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\xc9\x02\x8c\x00\x6a\x00\xbc\x01\x54\x02\x06\x00\x46\x02\x07\x00\x57\x02\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x55\x02\xea\x00\x56\x02\x79\x01\x95\x01\x6a\x00\x18\x00\x19\x00\xcd\x02\x8c\x00\x6a\x00\x58\x02\x59\x02\x06\x00\x9c\x00\x07\x00\x86\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x64\x02\x39\x00\xd8\x02\xa6\x00\xa7\x00\x66\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x1b\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x1a\x01\x39\x00\x85\x02\x4a\x02\x1c\x01\x1d\x01\x18\x00\x19\x00\x69\x02\x3a\x00\x06\x02\x6b\x01\xaa\x00\x5d\x01\x5e\x01\x4b\x02\x68\x01\x4f\x00\x86\x00\x50\x00\x4c\x02\x4d\x02\x07\x02\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xa5\x00\xa6\x00\xa7\x00\x74\x01\xd8\x00\xb9\x00\x5f\x00\xd9\x00\x78\x01\x7c\x01\x4f\x02\xe6\x01\xa6\x00\xa7\x00\xda\x00\x5d\x00\x5e\x00\x73\x01\xe7\x01\xa6\x00\xa7\x00\x7e\x01\x86\x00\x5f\x00\x3d\x00\x88\x01\xba\x00\x3d\x00\x3d\xfe\x06\x00\x6c\x00\x07\x00\x86\x01\xf4\x00\x09\x00\x0a\x00\x49\x01\xf7\x01\x62\x00\x63\x00\xd0\x01\x3d\xfe\x6d\x00\xe5\xff\x86\x01\x06\x00\x3d\xfe\x07\x00\x3d\x00\xf4\x00\x09\x00\x03\x01\xa5\x02\x9e\x01\x18\x00\x19\x00\x8e\x01\xce\x00\xcf\x00\x3d\x00\x3d\xfe\xaa\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x84\x00\xd7\x00\x86\x00\xc5\x01\x18\x00\x19\x00\x3f\x01\xcd\x01\x68\x00\xc3\x01\x6a\x00\x6e\x00\x6f\x00\x3d\x00\x70\x00\xcf\x01\x71\x00\x2a\x00\x86\x00\x72\x00\xda\x01\xff\xff\x73\x00\x8a\x00\x74\x00\x75\x00\x76\x00\xdd\x00\xa5\x00\xa6\x00\xa7\x00\x77\x00\x78\x00\x8b\x00\x79\x00\x88\x02\x86\x00\x7a\x00\x7b\x00\x8e\x00\x7c\x00\x7d\x00\x86\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xe9\x00\x68\x00\x90\x01\x6a\x00\x3d\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x1b\x00\x0e\x02\x8c\x00\x6a\x00\x3f\xfe\xfb\xff\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xea\x00\xed\x00\x23\x00\x26\x02\xa6\x00\xa7\x00\x06\x00\xf3\x00\x07\x00\xf1\x00\xf4\x00\x09\x00\x61\x02\x24\x00\xf4\x00\xcb\x00\xf8\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xfc\x00\xd2\x00\x62\x00\x63\x00\xd0\x01\xfd\x00\x3c\x00\x3d\x00\x18\x00\x19\x00\x25\x00\x3e\x00\x6f\x00\x3f\x00\x70\x00\x40\x00\x71\x00\x3d\xfe\x41\x00\x72\x00\x42\x00\x43\x00\x73\x00\xff\xff\x74\x00\x75\x00\x76\x00\x44\x00\x45\x00\x46\x00\x3d\xfe\x77\x00\x78\x00\xfe\x00\x79\x00\x3d\xfe\x47\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x48\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x51\x02\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x34\x02\x8c\x00\x6a\x00\xff\x00\x00\x01\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x06\x01\x6f\x00\x23\x00\xff\xff\x17\x01\x06\x00\xa1\x00\x07\x00\x1a\x01\xf4\x00\x09\x00\x0a\x00\x4a\x01\x24\x00\x75\x00\x6f\x01\x8c\x00\x6a\x00\x1b\x01\xa2\x00\x80\x01\x8c\x00\x6a\x00\x79\x00\xa3\x00\x81\x01\x8c\x00\x6a\x00\x1c\x01\x7c\x00\x18\x00\x19\x00\x7e\x00\x25\x00\x80\x00\xd7\xff\x1d\x01\xd7\xff\xa4\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\x00\x00\x00\x00\xd7\xff\x86\x00\xd7\xff\xd7\xff\xd7\xff\x8b\x01\xa6\x00\xa7\x00\xd7\xff\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x26\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xd7\xff\xd7\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\xae\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xd1\x01\x62\x00\x63\x00\x64\x00\x00\x00\xd2\x01\x67\x00\x3e\x02\x00\x00\x4f\x00\x24\x00\x50\x00\xbf\x01\xc0\x01\x00\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x8b\x00\x8c\x00\x6a\x00\x25\x00\x00\x00\x6f\x00\x5f\x00\x70\x00\x00\x00\x71\x00\xc2\x01\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\xd3\x01\x6a\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xb4\x00\x8c\x00\x6a\x00\x00\x00\x59\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x68\x00\xc3\x01\x6a\x00\x8d\x01\x47\x03\xaa\x00\x8d\x01\x09\x03\xaa\x00\x24\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x8d\x01\xa2\x02\xaa\x00\x8d\x01\xa8\x02\xaa\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x3d\x00\x00\x00\x00\x00\x25\x00\x92\x00\x63\x00\xe9\x01\x70\x00\x01\x02\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x02\x02\x8d\x01\xce\x01\xaa\x00\x77\x00\x78\x00\x68\x00\x5b\x02\x6a\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x8a\x02\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x95\x01\x6a\x00\x00\x00\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x38\x01\x3c\xfe\x39\x01\x00\x00\x3a\x01\x3b\x01\x3c\xfe\x00\x00\x3c\x01\x3d\x01\x24\x00\x00\x00\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3c\xfe\xd2\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x25\x00\x8d\x01\xeb\x01\xaa\x00\x70\x00\x65\x01\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x66\x01\x28\x01\x29\x01\x2a\x01\x77\x00\x78\x00\xa9\x00\xce\x01\xaa\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x28\x01\x29\x01\x2a\x01\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3c\xfe\xae\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x2b\x02\xce\x00\xcf\x00\x24\x00\x00\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x06\x00\x3c\xfe\x07\x00\x00\x00\xf4\x00\x09\x00\x46\x01\x3c\x00\x3d\x00\x86\x00\x00\x00\x25\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x00\x00\x42\x00\x43\x00\x8e\x00\x00\x00\x18\x00\x19\x00\x00\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x47\x00\x90\x00\x67\x00\x26\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x02\x00\x00\xaa\x00\x06\x03\x6a\x00\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x02\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xbb\x02\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x91\x00\x6a\x00\x00\x00\x24\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x25\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\xa1\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa2\x00\x65\x01\x00\x00\xaa\x00\x00\x00\xa3\x00\x84\x00\x9f\x00\x86\x00\x26\x00\x3c\xfe\x00\x00\x06\x00\x66\x01\x07\x00\x00\x00\xf4\x00\x09\x00\x47\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x16\x02\x00\x00\x00\x00\x23\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x24\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x25\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\xa2\x00\xaa\x00\x00\x00\x25\x02\x00\x00\xa3\x00\xa1\x02\x00\x00\x00\x00\x26\x00\x3d\xfe\x02\x02\x92\x00\x63\x00\x93\x00\x26\x02\x94\x00\x67\x00\xf7\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xaf\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\xa1\x00\x06\x00\x00\x00\x07\x00\xa1\x00\x06\x01\x09\x00\xa1\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x95\x00\x6a\x00\x00\x00\xa2\x00\xa3\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\xa3\x00\x18\x00\x19\x00\x25\x00\x06\x00\x00\x00\x07\x00\xa4\x00\x08\x01\x09\x00\x3d\xfe\xa4\x00\x00\x00\x84\x00\xa4\x00\x86\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x84\x00\xd7\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x18\x00\x19\x00\x00\x00\x26\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2f\x02\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x75\x02\x00\x00\xd6\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4b\x01\x1b\x00\x24\x00\x75\x02\x00\x00\x00\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x77\x02\x66\x03\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4d\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x34\x03\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x51\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x11\x02\x00\x00\x00\x00\x23\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\x93\x00\x24\x00\x94\x00\x67\x00\x06\x00\x1b\x00\x07\x00\x75\x02\x0b\x01\x09\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x18\x00\x19\x00\x24\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x48\x01\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x95\x01\x6a\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x18\x00\x19\x00\x3c\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x66\x01\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x52\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\xa1\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x03\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x86\x00\x00\x00\x23\x00\x25\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x06\x00\x24\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4e\x01\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\xa2\x01\x00\x00\x00\x00\x00\x00\x26\x00\x9e\x02\xce\x00\xcf\x00\x9f\x02\xd1\x00\x00\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xcb\x01\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xe6\x02\x00\x00\x00\x00\xcc\x01\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4c\x01\x1b\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x9c\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4f\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x00\x00\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x50\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x24\x00\x1b\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x63\x02\x00\x00\x06\x00\x25\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x2a\x01\x00\x00\x24\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x25\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x25\x00\x00\x00\x26\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x0c\x01\x09\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x26\x00\x18\x00\x19\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x95\x01\x6a\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\xd1\x02\x00\x00\x00\x00\x26\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x24\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x07\x03\x00\x00\x92\x00\x63\x00\xe9\x01\x0a\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x66\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x6d\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x24\x00\x6e\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x3d\xfe\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x86\x00\x00\x00\x25\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x06\x02\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x26\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2d\x01\x2e\x01\x2f\x01\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x00\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x06\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x07\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\xcb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\xcc\x01\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x6d\x00\x72\x00\x00\x00\xcb\x01\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\xcc\x01\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x01\x02\xfb\x02\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\xa1\x00\x00\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\xa2\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa3\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x84\x00\x7d\x00\x86\x00\x00\x00\x9e\x00\x3d\xfe\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\xb0\x01\xb1\x01\x3d\xfe\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x84\x00\x00\x00\x86\x00\xb5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc7\x02\x6a\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x95\x01\x6a\x00\xb5\x01\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x68\x00\xcc\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x01\x6a\x00\x00\x00\x68\x00\x5f\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\xd8\x00\xb9\x00\x00\x00\xd9\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\xda\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\xab\x00\xba\x00\xac\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xce\x02\x00\x00\xad\x00\x5d\x00\x5e\x00\x07\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x08\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\xfc\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\x00\x00\x97\x00\x00\x00\x98\x00\x00\x00\xab\x00\x00\x00\xac\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\xdd\x00\xad\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x23\x02\xcf\x00\x00\x00\x00\x00\xfe\x01\xff\x01\xc8\x01\x63\x00\xc9\x01\xf2\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x97\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x9f\x01\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x98\x00\xa1\x01\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x5f\x00\x9c\x00\x00\x00\xa2\x01\xf3\x01\x6a\x00\x5f\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x00\x00\xd4\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\xf1\x01\x62\x00\x63\x00\xd0\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\x12\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x02\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x06\x00\x81\x02\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x55\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\xef\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xf0\x01\x00\x00\x1c\x02\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x1d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x54\x01\x00\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x31\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x32\x02\x00\x00\xd7\x01\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xd8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\xa9\x02\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xf7\x02\xab\x02\xac\x02\xa9\x02\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xaa\x02\xab\x02\xac\x02\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x0e\x01\x55\x00\x12\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xae\x02\x6a\x00\x00\x00\x0e\x01\x55\x00\x6d\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x68\x00\xae\x02\x6a\x00\x00\x00\xac\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\xad\x00\x5d\x00\x5e\x00\xae\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x6e\x01\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x98\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x7f\x02\xec\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x62\x01\x63\x01\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\xa2\x01\x00\x00\x00\x00\x00\x00\x12\x02\x00\x00\x18\x00\x19\x00\x00\x00\x8d\x01\x13\x02\x14\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x00\x00\x90\x00\x67\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\xaa\x01\x00\x00\x00\x00\xae\x00\xb9\x02\x00\x00\x18\x00\x19\x00\x2b\x02\xce\x00\xcf\x00\x00\x00\x9c\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\xad\x01\x6a\x00\xc5\x02\x7f\x02\xed\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\xca\x02\x9f\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xc0\x02\x00\x00\x68\x00\xc6\x02\x6a\x00\x00\x00\x00\x00\x18\x00\x19\x00\x68\x00\xcb\x02\x6a\x00\xb0\x02\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\xb0\x02\x00\x00\xb1\x02\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\xc0\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x85\x00\x86\x00\xb2\x02\xc3\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x6f\x00\x00\x00\xa2\x00\x00\x00\x00\x00\xa1\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x75\x00\x00\x00\x7e\x00\x00\x00\x80\x00\xa2\x00\x00\x00\x00\x00\xa4\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x86\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x3d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x02\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x01\x85\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x85\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\xb4\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x3b\xfe\x3b\xfe\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x9f\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x02\x86\x00\x27\x03\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x6c\x02\x73\x02\x6d\x02\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x31\x03\x73\x02\x00\x00\x32\x03\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x73\x02\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x02\x18\x00\x19\x00\x00\x00\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x2e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x02\x00\x00\x18\x00\x19\x00\x00\x00\x06\x00\x00\x00\x07\x00\x9c\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x43\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x44\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x93\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\x94\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\xea\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x77\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x78\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x3a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x92\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x42\x01\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x43\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x5a\x01\x00\x00\x00\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\xee\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x69\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x6b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x64\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x59\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x53\x01\x02\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x03\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x04\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x09\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x0a\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x03\x0b\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x01\x03\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xcb\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x37\x02\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (4, 463) [- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249),- (250 , happyReduce_250),- (251 , happyReduce_251),- (252 , happyReduce_252),- (253 , happyReduce_253),- (254 , happyReduce_254),- (255 , happyReduce_255),- (256 , happyReduce_256),- (257 , happyReduce_257),- (258 , happyReduce_258),- (259 , happyReduce_259),- (260 , happyReduce_260),- (261 , happyReduce_261),- (262 , happyReduce_262),- (263 , happyReduce_263),- (264 , happyReduce_264),- (265 , happyReduce_265),- (266 , happyReduce_266),- (267 , happyReduce_267),- (268 , happyReduce_268),- (269 , happyReduce_269),- (270 , happyReduce_270),- (271 , happyReduce_271),- (272 , happyReduce_272),- (273 , happyReduce_273),- (274 , happyReduce_274),- (275 , happyReduce_275),- (276 , happyReduce_276),- (277 , happyReduce_277),- (278 , happyReduce_278),- (279 , happyReduce_279),- (280 , happyReduce_280),- (281 , happyReduce_281),- (282 , happyReduce_282),- (283 , happyReduce_283),- (284 , happyReduce_284),- (285 , happyReduce_285),- (286 , happyReduce_286),- (287 , happyReduce_287),- (288 , happyReduce_288),- (289 , happyReduce_289),- (290 , happyReduce_290),- (291 , happyReduce_291),- (292 , happyReduce_292),- (293 , happyReduce_293),- (294 , happyReduce_294),- (295 , happyReduce_295),- (296 , happyReduce_296),- (297 , happyReduce_297),- (298 , happyReduce_298),- (299 , happyReduce_299),- (300 , happyReduce_300),- (301 , happyReduce_301),- (302 , happyReduce_302),- (303 , happyReduce_303),- (304 , happyReduce_304),- (305 , happyReduce_305),- (306 , happyReduce_306),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451),- (452 , happyReduce_452),- (453 , happyReduce_453),- (454 , happyReduce_454),- (455 , happyReduce_455),- (456 , happyReduce_456),- (457 , happyReduce_457),- (458 , happyReduce_458),- (459 , happyReduce_459),- (460 , happyReduce_460),- (461 , happyReduce_461),- (462 , happyReduce_462),- (463 , happyReduce_463)- ]--happy_n_terms = 102 :: Int-happy_n_nonterms = 125 :: Int--happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4-happyReduction_4 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut8 happy_x_1 of { happy_var_1 ->- ( let decls = reverse happy_var_1 in- case decls of- [] -> do{ n <- getNewName; p <- getCurrentPosition; return $ CTranslUnit decls (mkNodeInfo' p (p,0) n) }- (d:ds) -> withNodeInfo d $ CTranslUnit decls)}- ) (\r -> happyReturn (happyIn7 r))--happyReduce_5 = happySpecReduce_0 1# happyReduction_5-happyReduction_5 = happyIn8- (empty- )--happyReduce_6 = happySpecReduce_2 1# happyReduction_6-happyReduction_6 happy_x_2- happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 ->- happyIn8- (happy_var_1- )}--happyReduce_7 = happySpecReduce_2 1# happyReduction_7-happyReduction_7 happy_x_2- happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 ->- case happyOut9 happy_x_2 of { happy_var_2 ->- happyIn8- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_8 = happySpecReduce_1 2# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut10 happy_x_1 of { happy_var_1 ->- happyIn9- (CFDefExt happy_var_1- )}--happyReduce_9 = happySpecReduce_1 2# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 ->- happyIn9- (CDeclExt happy_var_1- )}--happyReduce_10 = happySpecReduce_2 2# happyReduction_10-happyReduction_10 happy_x_2- happy_x_1- = case happyOut9 happy_x_2 of { happy_var_2 ->- happyIn9- (happy_var_2- )}--happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11-happyReduction_11 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut123 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAsmExt happy_var_3)}}- ) (\r -> happyReturn (happyIn9 r))--happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12-happyReduction_12 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut11 happy_x_1 of { happy_var_1 ->- case happyOut14 happy_x_2 of { happy_var_2 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 [] happy_var_2))}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13-happyReduction_13 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14-happyReduction_14 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15-happyReduction_15 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16-happyReduction_16 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17-happyReduction_17 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18-happyReduction_18 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut11 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19-happyReduction_19 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut76 happy_x_1 of { happy_var_1 ->- case happyOut33 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 (reverse happy_var_2) happy_var_3)}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20-happyReduction_20 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21-happyReduction_21 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22-happyReduction_22 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23-happyReduction_23 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24-happyReduction_24 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut76 happy_x_2 of { happy_var_2 ->- case happyOut33 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25-happyReduction_25 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut76 happy_x_3 of { happy_var_3 ->- case happyOut33 happy_x_4 of { happy_var_4 ->- case happyOut14 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 (reverse happy_var_4) happy_var_5)}}}}}- ) (\r -> happyReturn (happyIn10 r))--happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26-happyReduction_26 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut72 happy_x_1 of { happy_var_1 ->- ( let declr = reverseDeclr happy_var_1 in- enterScope >> doFuncParamDeclIdent declr >> return declr)}- ) (\r -> happyReturn (happyIn11 r))--happyReduce_27 = happySpecReduce_1 5# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut13 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_28 = happySpecReduce_1 5# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_29 = happySpecReduce_1 5# happyReduction_29-happyReduction_29 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_30 = happySpecReduce_1 5# happyReduction_30-happyReduction_30 happy_x_1- = case happyOut23 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_31 = happySpecReduce_1 5# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_32 = happySpecReduce_1 5# happyReduction_32-happyReduction_32 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 ->- happyIn12- (happy_var_1- )}--happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33-happyReduction_33 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut26 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 (CAsm happy_var_1))}- ) (\r -> happyReturn (happyIn12 r))--happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CLabel happy_var_1 happy_var_4 happy_var_3)}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35-happyReduction_35 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- case happyOut12 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCase happy_var_2 happy_var_4)}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36-happyReduction_36 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut12 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDefault happy_var_3)}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37-happyReduction_37 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- case happyOut121 happy_x_4 of { happy_var_4 ->- case happyOut12 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CCases happy_var_2 happy_var_4 happy_var_6)}}}}- ) (\r -> happyReturn (happyIn13 r))--happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38-happyReduction_38 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut17 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CCompound [] (reverse happy_var_3))}}- ) (\r -> happyReturn (happyIn14 r))--happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39-happyReduction_39 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut21 happy_x_3 of { happy_var_3 ->- case happyOut17 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCompound (reverse happy_var_3) (reverse happy_var_4))}}}- ) (\r -> happyReturn (happyIn14 r))--happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40-happyReduction_40 (happyRest) tk- = happyThen (( enterScope)- ) (\r -> happyReturn (happyIn15 r))--happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41-happyReduction_41 (happyRest) tk- = happyThen (( leaveScope)- ) (\r -> happyReturn (happyIn16 r))--happyReduce_42 = happySpecReduce_0 10# happyReduction_42-happyReduction_42 = happyIn17- (empty- )--happyReduce_43 = happySpecReduce_2 10# happyReduction_43-happyReduction_43 happy_x_2- happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 ->- case happyOut18 happy_x_2 of { happy_var_2 ->- happyIn17- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_44 = happySpecReduce_1 11# happyReduction_44-happyReduction_44 happy_x_1- = case happyOut12 happy_x_1 of { happy_var_1 ->- happyIn18- (CBlockStmt happy_var_1- )}--happyReduce_45 = happySpecReduce_1 11# happyReduction_45-happyReduction_45 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 ->- happyIn18- (happy_var_1- )}--happyReduce_46 = happySpecReduce_1 12# happyReduction_46-happyReduction_46 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 ->- happyIn19- (CBlockDecl happy_var_1- )}--happyReduce_47 = happySpecReduce_1 12# happyReduction_47-happyReduction_47 happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 ->- happyIn19- (CNestedFunDef happy_var_1- )}--happyReduce_48 = happySpecReduce_2 12# happyReduction_48-happyReduction_48 happy_x_2- happy_x_1- = case happyOut19 happy_x_2 of { happy_var_2 ->- happyIn19- (happy_var_2- )}--happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49-happyReduction_49 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50-happyReduction_50 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51-happyReduction_51 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52-happyReduction_52 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut11 happy_x_2 of { happy_var_2 ->- case happyOut14 happy_x_3 of { happy_var_3 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut11 happy_x_3 of { happy_var_3 ->- case happyOut14 happy_x_4 of { happy_var_4 ->- ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_54 = happySpecReduce_3 14# happyReduction_54-happyReduction_54 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_2 of { happy_var_2 ->- happyIn21- (happy_var_2- )}--happyReduce_55 = happyReduce 4# 14# happyReduction_55-happyReduction_55 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut21 happy_x_1 of { happy_var_1 ->- case happyOut82 happy_x_3 of { happy_var_3 ->- happyIn21- (happy_var_1 `rappendr` happy_var_3- ) `HappyStk` happyRest}}--happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56-happyReduction_56 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CExpr Nothing)}- ) (\r -> happyReturn (happyIn22 r))--happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57-happyReduction_57 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut117 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CExpr (Just happy_var_1))}- ) (\r -> happyReturn (happyIn22 r))--happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58-happyReduction_58 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 Nothing)}}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59-happyReduction_59 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- case happyOut12 happy_x_7 of { happy_var_7 ->- ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 (Just happy_var_7))}}}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60-happyReduction_60 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CSwitch happy_var_3 happy_var_5)}}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61-happyReduction_61 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut12 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CWhile happy_var_3 happy_var_5 False)}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62-happyReduction_62 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut12 happy_x_2 of { happy_var_2 ->- case happyOut117 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CWhile happy_var_5 happy_var_2 True)}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63-happyReduction_63 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut119 happy_x_3 of { happy_var_3 ->- case happyOut119 happy_x_5 of { happy_var_5 ->- case happyOut119 happy_x_7 of { happy_var_7 ->- case happyOut12 happy_x_9 of { happy_var_9 ->- ( withNodeInfo happy_var_1 $ CFor (Left happy_var_3) happy_var_5 happy_var_7 happy_var_9)}}}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64-happyReduction_64 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut32 happy_x_4 of { happy_var_4 ->- case happyOut119 happy_x_5 of { happy_var_5 ->- case happyOut119 happy_x_7 of { happy_var_7 ->- case happyOut12 happy_x_9 of { happy_var_9 ->- ( withNodeInfo happy_var_1 $ CFor (Right happy_var_4) happy_var_5 happy_var_7 happy_var_9)}}}}}- ) (\r -> happyReturn (happyIn24 r))--happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65-happyReduction_65 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CGoto happy_var_2)}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66-happyReduction_66 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CGotoPtr happy_var_3)}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67-happyReduction_67 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CCont)}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68-happyReduction_68 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CBreak)}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69-happyReduction_69 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut119 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CReturn happy_var_2)}}- ) (\r -> happyReturn (happyIn25 r))--happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70-happyReduction_70 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 [] [] [])}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71-happyReduction_71 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut28 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 [] [])}}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72-happyReduction_72 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut28 happy_x_6 of { happy_var_6 ->- case happyOut28 happy_x_8 of { happy_var_8 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 [])}}}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73-happyReduction_73 (happy_x_12 `HappyStk`- happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut27 happy_x_2 of { happy_var_2 ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut28 happy_x_6 of { happy_var_6 ->- case happyOut28 happy_x_8 of { happy_var_8 ->- case happyOut31 happy_x_10 of { happy_var_10 ->- ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 (reverse happy_var_10))}}}}}}- ) (\r -> happyReturn (happyIn26 r))--happyReduce_74 = happySpecReduce_0 20# happyReduction_74-happyReduction_74 = happyIn27- (Nothing- )--happyReduce_75 = happySpecReduce_1 20# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 ->- happyIn27- (Just happy_var_1- )}--happyReduce_76 = happySpecReduce_0 21# happyReduction_76-happyReduction_76 = happyIn28- ([]- )--happyReduce_77 = happySpecReduce_1 21# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 ->- happyIn28- (reverse happy_var_1- )}--happyReduce_78 = happySpecReduce_1 22# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 ->- happyIn29- (singleton happy_var_1- )}--happyReduce_79 = happySpecReduce_3 22# happyReduction_79-happyReduction_79 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 ->- case happyOut30 happy_x_3 of { happy_var_3 ->- happyIn29- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80-happyReduction_80 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut123 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAsmOperand Nothing happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn30 r))--happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81-happyReduction_81 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokIdent _ happy_var_2) ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut117 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}- ) (\r -> happyReturn (happyIn30 r))--happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82-happyReduction_82 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- case happyOut123 happy_x_4 of { happy_var_4 ->- case happyOut117 happy_x_6 of { happy_var_6 ->- ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}- ) (\r -> happyReturn (happyIn30 r))--happyReduce_83 = happySpecReduce_1 24# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 ->- happyIn31- (singleton happy_var_1- )}--happyReduce_84 = happySpecReduce_3 24# happyReduction_84-happyReduction_84 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 ->- case happyOut123 happy_x_3 of { happy_var_3 ->- happyIn31- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85-happyReduction_85 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86-happyReduction_86 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut46 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87-happyReduction_87 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->- ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88-happyReduction_88 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->- ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}- ) (\r -> happyReturn (happyIn32 r))--happyReduce_89 = happySpecReduce_0 26# happyReduction_89-happyReduction_89 = happyIn33- (empty- )--happyReduce_90 = happySpecReduce_2 26# happyReduction_90-happyReduction_90 happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 ->- case happyOut32 happy_x_2 of { happy_var_2 ->- happyIn33- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91-happyReduction_91 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( let declspecs = reverse happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $- CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( let declspecs = liftTypeQuals happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut72 happy_x_3 of { happy_var_3 ->- case happyOut35 happy_x_4 of { happy_var_4 ->- case happyOut91 happy_x_5 of { happy_var_5 ->- ( let declspecs = liftTypeQuals happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_4 happy_var_3- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $ CDecl (declspecs ++ liftCAttrs happy_var_2) [(Just (reverseDeclr declr), happy_var_5, Nothing)] })}}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( let declspecs = liftCAttrs happy_var_1 in- do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2- ; doDeclIdent declspecs declr- ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95-happyReduction_95 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut72 happy_x_4 of { happy_var_4 ->- case happyOut35 happy_x_5 of { happy_var_5 ->- case happyOut91 happy_x_6 of { happy_var_6 ->- ( case happy_var_1 of- CDecl declspecs dies at -> do- declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4- doDeclIdent declspecs declr- withLength at $ CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies))}}}}}- ) (\r -> happyReturn (happyIn34 r))--happyReduce_96 = happySpecReduce_2 28# happyReduction_96-happyReduction_96 happy_x_2- happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- happyIn35- ((happy_var_1,happy_var_2)- )}}--happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97-happyReduction_97 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut63 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( do{- declr <- withAsmNameAttrs happy_var_3 happy_var_2;- doDeclIdent happy_var_1 declr;- withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn36 r))--happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98-happyReduction_98 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut63 happy_x_2 of { happy_var_2 ->- case happyOut35 happy_x_3 of { happy_var_3 ->- case happyOut91 happy_x_4 of { happy_var_4 ->- ( do{- declr <- withAsmNameAttrs happy_var_3 happy_var_2;- doDeclIdent happy_var_1 declr;- withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}- ) (\r -> happyReturn (happyIn36 r))--happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99-happyReduction_99 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut63 happy_x_4 of { happy_var_4 ->- case happyOut35 happy_x_5 of { happy_var_5 ->- case happyOut91 happy_x_6 of { happy_var_6 ->- ( case happy_var_1 of- CDecl declspecs dies at -> do- declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4- doDeclIdent declspecs declr- return (CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies) at))}}}}}- ) (\r -> happyReturn (happyIn36 r))--happyReduce_100 = happySpecReduce_1 30# happyReduction_100-happyReduction_100 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- happyIn37- (reverse happy_var_1- )}--happyReduce_101 = happySpecReduce_1 30# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 ->- happyIn37- (reverse happy_var_1- )}--happyReduce_102 = happySpecReduce_1 30# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 ->- happyIn37- (reverse happy_var_1- )}--happyReduce_103 = happySpecReduce_1 31# happyReduction_103-happyReduction_103 happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 ->- happyIn38- (singleton (CStorageSpec happy_var_1)- )}--happyReduce_104 = happySpecReduce_2 31# happyReduction_104-happyReduction_104 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn38- (reverseList (liftCAttrs happy_var_1) `snoc` (CStorageSpec happy_var_2)- )}}--happyReduce_105 = happySpecReduce_2 31# happyReduction_105-happyReduction_105 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn38- (rmap CTypeQual happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_106 = happySpecReduce_3 31# happyReduction_106-happyReduction_106 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut40 happy_x_3 of { happy_var_3 ->- happyIn38- ((rmap CTypeQual happy_var_1 `rappend` liftCAttrs happy_var_2) `snoc` CStorageSpec happy_var_3- )}}}--happyReduce_107 = happySpecReduce_2 31# happyReduction_107-happyReduction_107 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn38- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_108 = happySpecReduce_2 31# happyReduction_108-happyReduction_108 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn38- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_109 = happySpecReduce_1 32# happyReduction_109-happyReduction_109 happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 ->- happyIn39- (CStorageSpec happy_var_1- )}--happyReduce_110 = happySpecReduce_1 32# happyReduction_110-happyReduction_110 happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 ->- happyIn39- (CTypeQual happy_var_1- )}--happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CTypedef)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112-happyReduction_112 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CExtern)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113-happyReduction_113 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CStatic)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CAuto)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115-happyReduction_115 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CRegister)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CThread)}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_117 = happySpecReduce_1 34# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- happyIn41- (reverse happy_var_1- )}--happyReduce_118 = happySpecReduce_1 34# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- happyIn41- (reverse happy_var_1- )}--happyReduce_119 = happySpecReduce_1 34# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- happyIn41- (reverse happy_var_1- )}--happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120-happyReduction_120 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CVoidType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121-happyReduction_121 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CCharType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122-happyReduction_122 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CShortType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123-happyReduction_123 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CIntType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CLongType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125-happyReduction_125 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CFloatType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDoubleType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127-happyReduction_127 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CSignedType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128-happyReduction_128 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CUnsigType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129-happyReduction_129 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CBoolType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130-happyReduction_130 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CComplexType)}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_131 = happySpecReduce_2 36# happyReduction_131-happyReduction_131 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_132 = happySpecReduce_2 36# happyReduction_132-happyReduction_132 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_133 = happySpecReduce_2 36# happyReduction_133-happyReduction_133 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_134 = happySpecReduce_2 36# happyReduction_134-happyReduction_134 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn43- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_135 = happySpecReduce_2 36# happyReduction_135-happyReduction_135 happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn43- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_136 = happySpecReduce_1 37# happyReduction_136-happyReduction_136 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 ->- happyIn44- (singleton (CTypeSpec happy_var_1)- )}--happyReduce_137 = happySpecReduce_2 37# happyReduction_137-happyReduction_137 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn44- ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)- )}}--happyReduce_138 = happySpecReduce_2 37# happyReduction_138-happyReduction_138 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn44- (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_139 = happySpecReduce_3 37# happyReduction_139-happyReduction_139 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut42 happy_x_3 of { happy_var_3 ->- happyIn44- (rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3- )}}}--happyReduce_140 = happySpecReduce_2 37# happyReduction_140-happyReduction_140 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn44- (happy_var_1 `snoc` CTypeQual happy_var_2- )}}--happyReduce_141 = happySpecReduce_2 37# happyReduction_141-happyReduction_141 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut42 happy_x_2 of { happy_var_2 ->- happyIn44- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_142 = happySpecReduce_2 37# happyReduction_142-happyReduction_142 happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn44- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_143 = happySpecReduce_2 38# happyReduction_143-happyReduction_143 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut49 happy_x_2 of { happy_var_2 ->- happyIn45- (happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_144 = happySpecReduce_2 38# happyReduction_144-happyReduction_144 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn45- (happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_145 = happySpecReduce_2 38# happyReduction_145-happyReduction_145 happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn45- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_146 = happySpecReduce_2 38# happyReduction_146-happyReduction_146 happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn45- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_147 = happySpecReduce_1 39# happyReduction_147-happyReduction_147 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 ->- happyIn46- (singleton (CTypeSpec happy_var_1)- )}--happyReduce_148 = happySpecReduce_2 39# happyReduction_148-happyReduction_148 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut49 happy_x_2 of { happy_var_2 ->- happyIn46- ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)- )}}--happyReduce_149 = happySpecReduce_2 39# happyReduction_149-happyReduction_149 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut49 happy_x_2 of { happy_var_2 ->- happyIn46- (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2- )}}--happyReduce_150 = happySpecReduce_3 39# happyReduction_150-happyReduction_150 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut49 happy_x_3 of { happy_var_3 ->- happyIn46- (rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3- )}}}--happyReduce_151 = happySpecReduce_2 39# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn46- (happy_var_1 `snoc` CTypeQual happy_var_2- )}}--happyReduce_152 = happySpecReduce_2 39# happyReduction_152-happyReduction_152 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn46- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_153 = happySpecReduce_2 40# happyReduction_153-happyReduction_153 happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- case happyOut40 happy_x_2 of { happy_var_2 ->- happyIn47- (happy_var_1 `snoc` CStorageSpec happy_var_2- )}}--happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154-happyReduction_154 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}- ) (\r -> happyReturn (happyIn47 r))--happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155-happyReduction_155 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut117 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn47 r))--happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156-happyReduction_156 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut83 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn47 r))--happyReduce_157 = happySpecReduce_2 40# happyReduction_157-happyReduction_157 happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 ->- case happyOut39 happy_x_2 of { happy_var_2 ->- happyIn47- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_158 = happySpecReduce_2 40# happyReduction_158-happyReduction_158 happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn47- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159-happyReduction_159 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeDef happy_var_1 at)))}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160-happyReduction_160 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfExpr happy_var_3 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161-happyReduction_161 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfType happy_var_3 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162-happyReduction_162 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163-happyReduction_163 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut117 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164-happyReduction_164 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut83 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165-happyReduction_165 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->- ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeDef happy_var_2 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166-happyReduction_166 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeOfExpr happy_var_4 at)))}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167-happyReduction_167 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- case happyOut83 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeOfType happy_var_4 at)))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168-happyReduction_168 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOutTok happy_x_3 of { (CTokTyIdent _ happy_var_3) ->- ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeDef happy_var_3 at))}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169-happyReduction_169 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOutTok happy_x_3 of { happy_var_3 ->- case happyOut117 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfExpr happy_var_5 at))}}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170-happyReduction_170 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOutTok happy_x_3 of { happy_var_3 ->- case happyOut83 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfType happy_var_5 at))}}}}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_171 = happySpecReduce_2 41# happyReduction_171-happyReduction_171 happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn48- (happy_var_1 `snoc` CTypeQual happy_var_2- )}}--happyReduce_172 = happySpecReduce_2 41# happyReduction_172-happyReduction_172 happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn48- (addTrailingAttrs happy_var_1 happy_var_2- )}}--happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173-happyReduction_173 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut50 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CSUType happy_var_1)}- ) (\r -> happyReturn (happyIn49 r))--happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174-happyReduction_174 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut58 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CEnumType happy_var_1)}- ) (\r -> happyReturn (happyIn49 r))--happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175-happyReduction_175 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- case happyOut52 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176-happyReduction_176 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut52 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) Nothing (Just$ reverse happy_var_4) happy_var_2)}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177-happyReduction_177 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) Nothing happy_var_2)}}}- ) (\r -> happyReturn (happyIn50 r))--happyReduce_178 = happySpecReduce_1 44# happyReduction_178-happyReduction_178 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn51- (L CStructTag (posOf happy_var_1)- )}--happyReduce_179 = happySpecReduce_1 44# happyReduction_179-happyReduction_179 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn51- (L CUnionTag (posOf happy_var_1)- )}--happyReduce_180 = happySpecReduce_0 45# happyReduction_180-happyReduction_180 = happyIn52- (empty- )--happyReduce_181 = happySpecReduce_2 45# happyReduction_181-happyReduction_181 happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 ->- happyIn52- (happy_var_1- )}--happyReduce_182 = happySpecReduce_2 45# happyReduction_182-happyReduction_182 happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 ->- case happyOut53 happy_x_2 of { happy_var_2 ->- happyIn52- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_183 = happySpecReduce_2 46# happyReduction_183-happyReduction_183 happy_x_2- happy_x_1- = case happyOut55 happy_x_1 of { happy_var_1 ->- happyIn53- (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at- )}--happyReduce_184 = happySpecReduce_2 46# happyReduction_184-happyReduction_184 happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 ->- happyIn53- (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at- )}--happyReduce_185 = happySpecReduce_2 46# happyReduction_185-happyReduction_185 happy_x_2- happy_x_1- = case happyOut53 happy_x_2 of { happy_var_2 ->- happyIn53- (happy_var_2- )}--happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186-happyReduction_186 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut57 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ case happy_var_3 of (d,s) -> CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [(d,Nothing,s)])}}}- ) (\r -> happyReturn (happyIn54 r))--happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187-happyReduction_187 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut57 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ case happy_var_2 of (d,s) -> CDecl (liftCAttrs happy_var_1) [(d,Nothing,s)])}}- ) (\r -> happyReturn (happyIn54 r))--happyReduce_188 = happyReduce 4# 47# happyReduction_188-happyReduction_188 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut54 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut57 happy_x_4 of { happy_var_4 ->- happyIn54- (case happy_var_1 of- CDecl declspecs dies at ->- case happy_var_4 of- (Just d,s) -> CDecl declspecs ((Just $ appendObjAttrs happy_var_3 d,Nothing,s) : dies) at- (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) at- ) `HappyStk` happyRest}}}--happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189-happyReduction_189 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut56 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ case happy_var_2 of { (Just d,s) -> CDecl happy_var_1 [(Just $! appendObjAttrs happy_var_3 d,Nothing,s)]- ; (Nothing,s) -> CDecl happy_var_1 [(Nothing,Nothing,s)] })}}}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_190 = happyReduce 5# 48# happyReduction_190-happyReduction_190 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut55 happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut56 happy_x_4 of { happy_var_4 ->- case happyOut126 happy_x_5 of { happy_var_5 ->- happyIn55- (case happy_var_1 of- CDecl declspecs dies attr ->- case happy_var_4 of- (Just d,s) -> CDecl declspecs ((Just$ appendObjAttrs (happy_var_3++happy_var_5) d,Nothing,s) : dies) attr- (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) attr- ) `HappyStk` happyRest}}}}--happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn55 r))--happyReduce_192 = happySpecReduce_1 49# happyReduction_192-happyReduction_192 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 ->- happyIn56- ((Just (reverseDeclr happy_var_1), Nothing)- )}--happyReduce_193 = happySpecReduce_2 49# happyReduction_193-happyReduction_193 happy_x_2- happy_x_1- = case happyOut121 happy_x_2 of { happy_var_2 ->- happyIn56- ((Nothing, Just happy_var_2)- )}--happyReduce_194 = happySpecReduce_3 49# happyReduction_194-happyReduction_194 happy_x_3- happy_x_2- happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn56- ((Just (reverseDeclr happy_var_1), Just happy_var_3)- )}}--happyReduce_195 = happySpecReduce_1 50# happyReduction_195-happyReduction_195 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 ->- happyIn57- ((Just (reverseDeclr happy_var_1), Nothing)- )}--happyReduce_196 = happySpecReduce_2 50# happyReduction_196-happyReduction_196 happy_x_2- happy_x_1- = case happyOut121 happy_x_2 of { happy_var_2 ->- happyIn57- ((Nothing, Just happy_var_2)- )}--happyReduce_197 = happySpecReduce_3 50# happyReduction_197-happyReduction_197 happy_x_3- happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn57- ((Just (reverseDeclr happy_var_1), Just happy_var_3)- )}}--happyReduce_198 = happySpecReduce_2 50# happyReduction_198-happyReduction_198 happy_x_2- happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn57- (case happy_var_1 of { (Nothing,expr) -> (Nothing,expr) {- FIXME -}- ; (Just (CDeclr name derived asmname attrs node), bsz) ->- (Just (CDeclr name derived asmname (attrs++happy_var_2) node),bsz)- }- )}}--happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199-happyReduction_199 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut59 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CEnum Nothing (Just$ reverse happy_var_4) happy_var_2)}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200-happyReduction_200 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut59 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CEnum Nothing (Just$ reverse happy_var_4) happy_var_2)}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201-happyReduction_201 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- case happyOut59 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202-happyReduction_202 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- case happyOut59 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203-happyReduction_203 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_2 of { happy_var_2 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) Nothing happy_var_2)}}}- ) (\r -> happyReturn (happyIn58 r))--happyReduce_204 = happySpecReduce_1 52# happyReduction_204-happyReduction_204 happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 ->- happyIn59- (singleton happy_var_1- )}--happyReduce_205 = happySpecReduce_3 52# happyReduction_205-happyReduction_205 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 ->- case happyOut60 happy_x_3 of { happy_var_3 ->- happyIn59- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_206 = happySpecReduce_1 53# happyReduction_206-happyReduction_206 happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 ->- happyIn60- ((happy_var_1, Nothing)- )}--happyReduce_207 = happySpecReduce_3 53# happyReduction_207-happyReduction_207 happy_x_3- happy_x_2- happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn60- ((happy_var_1, Just happy_var_3)- )}}--happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208-happyReduction_208 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CConstQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209-happyReduction_209 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CVolatQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210-happyReduction_210 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CRestrQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211-happyReduction_211 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CInlineQual)}- ) (\r -> happyReturn (happyIn61 r))--happyReduce_212 = happySpecReduce_2 55# happyReduction_212-happyReduction_212 happy_x_2- happy_x_1- = case happyOut126 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn62- (reverseList (map CAttrQual happy_var_1) `snoc` happy_var_2- )}}--happyReduce_213 = happySpecReduce_2 55# happyReduction_213-happyReduction_213 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut61 happy_x_2 of { happy_var_2 ->- happyIn62- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_214 = happySpecReduce_3 55# happyReduction_214-happyReduction_214 happy_x_3- happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut61 happy_x_3 of { happy_var_3 ->- happyIn62- ((happy_var_1 `rappend` map CAttrQual happy_var_2) `snoc` happy_var_3- )}}}--happyReduce_215 = happySpecReduce_1 56# happyReduction_215-happyReduction_215 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 ->- happyIn63- (happy_var_1- )}--happyReduce_216 = happySpecReduce_1 56# happyReduction_216-happyReduction_216 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 ->- happyIn63- (happy_var_1- )}--happyReduce_217 = happySpecReduce_0 57# happyReduction_217-happyReduction_217 = happyIn64- (Nothing- )--happyReduce_218 = happyReduce 4# 57# happyReduction_218-happyReduction_218 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut123 happy_x_3 of { happy_var_3 ->- happyIn64- (Just happy_var_3- ) `HappyStk` happyRest}--happyReduce_219 = happySpecReduce_1 58# happyReduction_219-happyReduction_219 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 ->- happyIn65- (happy_var_1- )}--happyReduce_220 = happySpecReduce_1 58# happyReduction_220-happyReduction_220 happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 ->- happyIn65- (happy_var_1- )}--happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221-happyReduction_221 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222-happyReduction_222 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- case happyOut85 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ \at -> happy_var_2 (mkVarDeclr happy_var_1 at))}}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_223 = happySpecReduce_1 59# happyReduction_223-happyReduction_223 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 ->- happyIn66- (happy_var_1- )}--happyReduce_224 = happySpecReduce_1 60# happyReduction_224-happyReduction_224 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 ->- happyIn67- (happy_var_1- )}--happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225-happyReduction_225 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut66 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226-happyReduction_226 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut66 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227-happyReduction_227 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut66 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228-happyReduction_228 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut66 happy_x_4 of { happy_var_4 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn67 r))--happyReduce_229 = happySpecReduce_3 61# happyReduction_229-happyReduction_229 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_2 of { happy_var_2 ->- happyIn68- (happy_var_2- )}--happyReduce_230 = happyReduce 4# 61# happyReduction_230-happyReduction_230 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn68- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_231 = happyReduce 4# 61# happyReduction_231-happyReduction_231 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut67 happy_x_3 of { happy_var_3 ->- happyIn68- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_232 = happyReduce 5# 61# happyReduction_232-happyReduction_232 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut67 happy_x_3 of { happy_var_3 ->- case happyOut85 happy_x_5 of { happy_var_5 ->- happyIn68- (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_233 = happySpecReduce_1 62# happyReduction_233-happyReduction_233 happy_x_1- = case happyOut70 happy_x_1 of { happy_var_1 ->- happyIn69- (happy_var_1- )}--happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234-happyReduction_234 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut71 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 [])}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235-happyReduction_235 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut71 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236-happyReduction_236 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut71 happy_x_5 of { happy_var_5 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_5 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237-happyReduction_237 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut69 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238-happyReduction_238 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut69 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239-happyReduction_239 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut69 happy_x_4 of { happy_var_4 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn69 r))--happyReduce_240 = happySpecReduce_3 63# happyReduction_240-happyReduction_240 happy_x_3- happy_x_2- happy_x_1- = case happyOut69 happy_x_2 of { happy_var_2 ->- happyIn70- (happy_var_2- )}--happyReduce_241 = happyReduce 4# 63# happyReduction_241-happyReduction_241 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut71 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_3 of { happy_var_3 ->- happyIn70- (happy_var_3 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_242 = happyReduce 4# 63# happyReduction_242-happyReduction_242 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut69 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn70- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243-happyReduction_243 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_244 = happySpecReduce_3 64# happyReduction_244-happyReduction_244 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_2 of { happy_var_2 ->- happyIn71- (happy_var_2- )}--happyReduce_245 = happySpecReduce_1 65# happyReduction_245-happyReduction_245 happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 ->- happyIn72- (happy_var_1- )}--happyReduce_246 = happySpecReduce_1 65# happyReduction_246-happyReduction_246 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 ->- happyIn72- (happy_var_1- )}--happyReduce_247 = happySpecReduce_1 66# happyReduction_247-happyReduction_247 happy_x_1- = case happyOut74 happy_x_1 of { happy_var_1 ->- happyIn73- (happy_var_1- )}--happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248-happyReduction_248 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249-happyReduction_249 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut72 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250-happyReduction_250 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut72 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251-happyReduction_251 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut72 happy_x_4 of { happy_var_4 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}- ) (\r -> happyReturn (happyIn73 r))--happyReduce_252 = happySpecReduce_2 67# happyReduction_252-happyReduction_252 happy_x_2- happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 ->- case happyOut85 happy_x_2 of { happy_var_2 ->- happyIn74- (happy_var_2 happy_var_1- )}}--happyReduce_253 = happySpecReduce_3 67# happyReduction_253-happyReduction_253 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_2 of { happy_var_2 ->- happyIn74- (happy_var_2- )}--happyReduce_254 = happyReduce 4# 67# happyReduction_254-happyReduction_254 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut73 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn74- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_255 = happyReduce 4# 67# happyReduction_255-happyReduction_255 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut73 happy_x_3 of { happy_var_3 ->- happyIn74- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_256 = happyReduce 5# 67# happyReduction_256-happyReduction_256 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut73 happy_x_3 of { happy_var_3 ->- case happyOut85 happy_x_5 of { happy_var_5 ->- happyIn74- (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257-happyReduction_257 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}- ) (\r -> happyReturn (happyIn75 r))--happyReduce_258 = happySpecReduce_3 68# happyReduction_258-happyReduction_258 happy_x_3- happy_x_2- happy_x_1- = case happyOut75 happy_x_2 of { happy_var_2 ->- happyIn75- (happy_var_2- )}--happyReduce_259 = happyReduce 4# 68# happyReduction_259-happyReduction_259 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut75 happy_x_3 of { happy_var_3 ->- happyIn75- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_260 = happySpecReduce_1 69# happyReduction_260-happyReduction_260 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 ->- happyIn76- (reverseDeclr happy_var_1- )}--happyReduce_261 = happySpecReduce_1 70# happyReduction_261-happyReduction_261 happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 ->- happyIn77- (happy_var_1- )}--happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262-happyReduction_262 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut77 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263-happyReduction_263 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut77 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn77 r))--happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264-happyReduction_264 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut75 happy_x_1 of { happy_var_1 ->- case happyOut82 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ funDeclr happy_var_1 (Left $ reverse happy_var_3) [])}}- ) (\r -> happyReturn (happyIn78 r))--happyReduce_265 = happySpecReduce_3 71# happyReduction_265-happyReduction_265 happy_x_3- happy_x_2- happy_x_1- = case happyOut77 happy_x_2 of { happy_var_2 ->- happyIn78- (happy_var_2- )}--happyReduce_266 = happyReduce 4# 71# happyReduction_266-happyReduction_266 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut77 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn78- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_267 = happySpecReduce_0 72# happyReduction_267-happyReduction_267 = happyIn79- (([], False)- )--happyReduce_268 = happySpecReduce_1 72# happyReduction_268-happyReduction_268 happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 ->- happyIn79- ((reverse happy_var_1, False)- )}--happyReduce_269 = happySpecReduce_3 72# happyReduction_269-happyReduction_269 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 ->- happyIn79- ((reverse happy_var_1, True)- )}--happyReduce_270 = happySpecReduce_1 73# happyReduction_270-happyReduction_270 happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 ->- happyIn80- (singleton happy_var_1- )}--happyReduce_271 = happySpecReduce_3 73# happyReduction_271-happyReduction_271 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 ->- case happyOut81 happy_x_3 of { happy_var_3 ->- happyIn80- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272-happyReduction_272 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273-happyReduction_273 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274-happyReduction_274 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275-happyReduction_275 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->- case happyOut66 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277-happyReduction_277 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278-happyReduction_278 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279-happyReduction_279 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280-happyReduction_280 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281-happyReduction_281 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282-happyReduction_282 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut66 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [])}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284-happyReduction_284 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285-happyReduction_285 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286-happyReduction_286 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut72 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr$ appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_287 = happySpecReduce_1 75# happyReduction_287-happyReduction_287 happy_x_1- = case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- happyIn82- (singleton happy_var_1- )}--happyReduce_288 = happySpecReduce_3 75# happyReduction_288-happyReduction_288 happy_x_3- happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_3 of { (CTokIdent _ happy_var_3) ->- happyIn82- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289-happyReduction_289 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290-happyReduction_290 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291-happyReduction_291 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292-happyReduction_292 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_293 = happySpecReduce_1 77# happyReduction_293-happyReduction_293 happy_x_1- = case happyOut88 happy_x_1 of { happy_var_1 ->- happyIn84- (happy_var_1- )}--happyReduce_294 = happySpecReduce_1 77# happyReduction_294-happyReduction_294 happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 ->- happyIn84- (happy_var_1- )}--happyReduce_295 = happySpecReduce_1 77# happyReduction_295-happyReduction_295 happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 ->- happyIn84- (happy_var_1 emptyDeclr- )}--happyReduce_296 = happySpecReduce_1 78# happyReduction_296-happyReduction_296 happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 ->- happyIn85- (happy_var_1- )}--happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297-happyReduction_297 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut79 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ \at declr -> case happy_var_2 of- (params, variadic) -> funDeclr declr (Right (params,variadic)) [] at)}}- ) (\r -> happyReturn (happyIn85 r))--happyReduce_298 = happySpecReduce_1 79# happyReduction_298-happyReduction_298 happy_x_1- = case happyOut87 happy_x_1 of { happy_var_1 ->- happyIn86- (happy_var_1- )}--happyReduce_299 = happySpecReduce_2 79# happyReduction_299-happyReduction_299 happy_x_2- happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 ->- case happyOut87 happy_x_2 of { happy_var_2 ->- happyIn86- (\decl -> happy_var_2 (happy_var_1 decl)- )}}--happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300-happyReduction_300 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut120 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr [] False False happy_var_2 at)}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301-happyReduction_301 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut120 happy_x_3 of { happy_var_3 ->- ( withAttributePF happy_var_1 happy_var_2 $ \at declr -> arrDeclr declr [] False False happy_var_3 at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302-happyReduction_302 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut120 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_3 at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303-happyReduction_303 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut120 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_4 at)}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304-happyReduction_304 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut115 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] False True (Just happy_var_4) at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305-happyReduction_305 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_3 of { happy_var_3 ->- case happyOut126 happy_x_4 of { happy_var_4 ->- case happyOut115 happy_x_5 of { happy_var_5 ->- ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_3) False True (Just happy_var_5) at)}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306-happyReduction_306 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- case happyOut126 happy_x_5 of { happy_var_5 ->- case happyOut115 happy_x_6 of { happy_var_6 ->- ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) False True (Just happy_var_6) at)}}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307-happyReduction_307 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] True False Nothing at)}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308-happyReduction_308 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 (happy_var_2 ++ happy_var_4) $ \at declr -> arrDeclr declr [] True False Nothing at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309-happyReduction_309 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_4 of { happy_var_4 ->- ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310-happyReduction_310 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut127 happy_x_3 of { happy_var_3 ->- case happyOut126 happy_x_5 of { happy_var_5 ->- ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}}- ) (\r -> happyReturn (happyIn87 r))--happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr [])}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312-happyReduction_312 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut126 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr emptyDeclr (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313-happyReduction_313 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut84 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314-happyReduction_314 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut62 happy_x_2 of { happy_var_2 ->- case happyOut84 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315-happyReduction_315 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr emptyDeclr [])}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316-happyReduction_316 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut84 happy_x_3 of { happy_var_3 ->- ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}- ) (\r -> happyReturn (happyIn88 r))--happyReduce_317 = happySpecReduce_3 82# happyReduction_317-happyReduction_317 happy_x_3- happy_x_2- happy_x_1- = case happyOut88 happy_x_2 of { happy_var_2 ->- happyIn89- (happy_var_2- )}--happyReduce_318 = happySpecReduce_3 82# happyReduction_318-happyReduction_318 happy_x_3- happy_x_2- happy_x_1- = case happyOut89 happy_x_2 of { happy_var_2 ->- happyIn89- (happy_var_2- )}--happyReduce_319 = happySpecReduce_3 82# happyReduction_319-happyReduction_319 happy_x_3- happy_x_2- happy_x_1- = case happyOut85 happy_x_2 of { happy_var_2 ->- happyIn89- (happy_var_2 emptyDeclr- )}--happyReduce_320 = happyReduce 4# 82# happyReduction_320-happyReduction_320 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut88 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_4 of { happy_var_4 ->- happyIn89- (happy_var_4 happy_var_2- ) `HappyStk` happyRest}}--happyReduce_321 = happyReduce 4# 82# happyReduction_321-happyReduction_321 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut88 happy_x_3 of { happy_var_3 ->- happyIn89- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_322 = happyReduce 4# 82# happyReduction_322-happyReduction_322 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut89 happy_x_3 of { happy_var_3 ->- happyIn89- (appendDeclrAttrs happy_var_2 happy_var_3- ) `HappyStk` happyRest}}--happyReduce_323 = happyReduce 4# 82# happyReduction_323-happyReduction_323 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut85 happy_x_3 of { happy_var_3 ->- happyIn89- (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr)- ) `HappyStk` happyRest}}--happyReduce_324 = happyReduce 5# 82# happyReduction_324-happyReduction_324 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut127 happy_x_2 of { happy_var_2 ->- case happyOut88 happy_x_3 of { happy_var_3 ->- case happyOut85 happy_x_5 of { happy_var_5 ->- happyIn89- (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_325 = happySpecReduce_2 82# happyReduction_325-happyReduction_325 happy_x_2- happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn89- (appendDeclrAttrs happy_var_2 happy_var_1- )}}--happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CInitExpr happy_var_1)}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327-happyReduction_327 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut92 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328-happyReduction_328 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut92 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_329 = happySpecReduce_0 84# happyReduction_329-happyReduction_329 = happyIn91- (Nothing- )--happyReduce_330 = happySpecReduce_2 84# happyReduction_330-happyReduction_330 happy_x_2- happy_x_1- = case happyOut90 happy_x_2 of { happy_var_2 ->- happyIn91- (Just happy_var_2- )}--happyReduce_331 = happySpecReduce_0 85# happyReduction_331-happyReduction_331 = happyIn92- (empty- )--happyReduce_332 = happySpecReduce_1 85# happyReduction_332-happyReduction_332 happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 ->- happyIn92- (singleton ([],happy_var_1)- )}--happyReduce_333 = happySpecReduce_2 85# happyReduction_333-happyReduction_333 happy_x_2- happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 ->- case happyOut90 happy_x_2 of { happy_var_2 ->- happyIn92- (singleton (happy_var_1,happy_var_2)- )}}--happyReduce_334 = happySpecReduce_3 85# happyReduction_334-happyReduction_334 happy_x_3- happy_x_2- happy_x_1- = case happyOut92 happy_x_1 of { happy_var_1 ->- case happyOut90 happy_x_3 of { happy_var_3 ->- happyIn92- (happy_var_1 `snoc` ([],happy_var_3)- )}}--happyReduce_335 = happyReduce 4# 85# happyReduction_335-happyReduction_335 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut92 happy_x_1 of { happy_var_1 ->- case happyOut93 happy_x_3 of { happy_var_3 ->- case happyOut90 happy_x_4 of { happy_var_4 ->- happyIn92- (happy_var_1 `snoc` (happy_var_3,happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_336 = happySpecReduce_2 86# happyReduction_336-happyReduction_336 happy_x_2- happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 ->- happyIn93- (reverse happy_var_1- )}--happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337-happyReduction_337 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ \at -> [CMemberDesig happy_var_1 at])}- ) (\r -> happyReturn (happyIn93 r))--happyReduce_338 = happySpecReduce_1 86# happyReduction_338-happyReduction_338 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 ->- happyIn93- ([happy_var_1]- )}--happyReduce_339 = happySpecReduce_1 87# happyReduction_339-happyReduction_339 happy_x_1- = case happyOut95 happy_x_1 of { happy_var_1 ->- happyIn94- (singleton happy_var_1- )}--happyReduce_340 = happySpecReduce_2 87# happyReduction_340-happyReduction_340 happy_x_2- happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 ->- case happyOut95 happy_x_2 of { happy_var_2 ->- happyIn94- (happy_var_1 `snoc` happy_var_2- )}}--happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341-happyReduction_341 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CArrDesig happy_var_2)}}- ) (\r -> happyReturn (happyIn95 r))--happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342-happyReduction_342 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CMemberDesig happy_var_2)}}- ) (\r -> happyReturn (happyIn95 r))--happyReduce_343 = happySpecReduce_1 88# happyReduction_343-happyReduction_343 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 ->- happyIn95- (happy_var_1- )}--happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344-happyReduction_344 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_2 of { happy_var_2 ->- case happyOut121 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CRangeDesig happy_var_2 happy_var_4)}}}- ) (\r -> happyReturn (happyIn96 r))--happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345-happyReduction_345 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ CVar happy_var_1)}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_346 = happySpecReduce_1 90# happyReduction_346-happyReduction_346 happy_x_1- = case happyOut122 happy_x_1 of { happy_var_1 ->- happyIn97- (CConst happy_var_1- )}--happyReduce_347 = happySpecReduce_1 90# happyReduction_347-happyReduction_347 happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 ->- happyIn97- (CConst (liftStrLit happy_var_1)- )}--happyReduce_348 = happySpecReduce_3 90# happyReduction_348-happyReduction_348 happy_x_3- happy_x_2- happy_x_1- = case happyOut117 happy_x_2 of { happy_var_2 ->- happyIn97- (happy_var_2- )}--happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349-happyReduction_349 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut14 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CStatExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350-happyReduction_350 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- case happyOut83 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinVaArg happy_var_3 happy_var_5)}}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351-happyReduction_351 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- case happyOut98 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinOffsetOf happy_var_3 (reverse happy_var_5))}}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352-happyReduction_352 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- case happyOut83 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinTypesCompatible happy_var_3 happy_var_5)}}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353-happyReduction_353 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ singleton . CMemberDesig happy_var_1)}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354-happyReduction_354 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CMemberDesig happy_var_3)}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355-happyReduction_355 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CArrDesig happy_var_3)}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_356 = happySpecReduce_1 92# happyReduction_356-happyReduction_356 happy_x_1- = case happyOut97 happy_x_1 of { happy_var_1 ->- happyIn99- (happy_var_1- )}--happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357-happyReduction_357 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CIndex happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358-happyReduction_358 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CCall happy_var_1 [])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359-happyReduction_359 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut100 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CCall happy_var_1 (reverse happy_var_3))}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360-happyReduction_360 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 False)}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361-happyReduction_361 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 True)}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362-happyReduction_362 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CUnary CPostIncOp happy_var_1)}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363-happyReduction_363 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ CUnary CPostDecOp happy_var_1)}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364-happyReduction_364 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_2 of { happy_var_2 ->- case happyOut92 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365-happyReduction_365 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_2 of { happy_var_2 ->- case happyOut92 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_366 = happySpecReduce_1 93# happyReduction_366-happyReduction_366 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn100- (singleton happy_var_1- )}--happyReduce_367 = happySpecReduce_3 93# happyReduction_367-happyReduction_367 happy_x_3- happy_x_2- happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- happyIn100- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_368 = happySpecReduce_1 94# happyReduction_368-happyReduction_368 happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 ->- happyIn101- (happy_var_1- )}--happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369-happyReduction_369 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CUnary CPreIncOp happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370-happyReduction_370 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CUnary CPreDecOp happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_371 = happySpecReduce_2 94# happyReduction_371-happyReduction_371 happy_x_2- happy_x_1- = case happyOut103 happy_x_2 of { happy_var_2 ->- happyIn101- (happy_var_2- )}--happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372-happyReduction_372 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut102 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CUnary (unL happy_var_1) happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373-happyReduction_373 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CSizeofExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_374 = happyMonadReduce 4# 94# happyReduction_374-happyReduction_374 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CSizeofType happy_var_3)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375-happyReduction_375 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CAlignofExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376-happyReduction_376 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAlignofType happy_var_3)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377-happyReduction_377 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CComplexReal happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378-happyReduction_378 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut101 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CComplexImag happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379-happyReduction_379 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut125 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ CLabAddrExpr happy_var_2)}}- ) (\r -> happyReturn (happyIn101 r))--happyReduce_380 = happySpecReduce_1 95# happyReduction_380-happyReduction_380 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CAdrOp (posOf happy_var_1)- )}--happyReduce_381 = happySpecReduce_1 95# happyReduction_381-happyReduction_381 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CIndOp (posOf happy_var_1)- )}--happyReduce_382 = happySpecReduce_1 95# happyReduction_382-happyReduction_382 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CPlusOp (posOf happy_var_1)- )}--happyReduce_383 = happySpecReduce_1 95# happyReduction_383-happyReduction_383 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CMinOp (posOf happy_var_1)- )}--happyReduce_384 = happySpecReduce_1 95# happyReduction_384-happyReduction_384 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CCompOp (posOf happy_var_1)- )}--happyReduce_385 = happySpecReduce_1 95# happyReduction_385-happyReduction_385 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn102- (L CNegOp (posOf happy_var_1)- )}--happyReduce_386 = happySpecReduce_1 96# happyReduction_386-happyReduction_386 happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 ->- happyIn103- (happy_var_1- )}--happyReduce_387 = happyMonadReduce 4# 96# happyReduction_387-happyReduction_387 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut83 happy_x_2 of { happy_var_2 ->- case happyOut103 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCast happy_var_2 happy_var_4)}}}- ) (\r -> happyReturn (happyIn103 r))--happyReduce_388 = happySpecReduce_1 97# happyReduction_388-happyReduction_388 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 ->- happyIn104- (happy_var_1- )}--happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389-happyReduction_389 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CMulOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390-happyReduction_390 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CDivOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391-happyReduction_391 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->- case happyOut103 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CRmdOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn104 r))--happyReduce_392 = happySpecReduce_1 98# happyReduction_392-happyReduction_392 happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 ->- happyIn105- (happy_var_1- )}--happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393-happyReduction_393 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->- case happyOut104 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CAddOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn105 r))--happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394-happyReduction_394 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->- case happyOut104 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CSubOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn105 r))--happyReduce_395 = happySpecReduce_1 99# happyReduction_395-happyReduction_395 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 ->- happyIn106- (happy_var_1- )}--happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396-happyReduction_396 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->- case happyOut105 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CShlOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn106 r))--happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397-happyReduction_397 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->- case happyOut105 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CShrOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn106 r))--happyReduce_398 = happySpecReduce_1 100# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 ->- happyIn107- (happy_var_1- )}--happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399-happyReduction_399 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLeOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400-happyReduction_400 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CGrOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401-happyReduction_401 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLeqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402-happyReduction_402 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->- case happyOut106 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CGeqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn107 r))--happyReduce_403 = happySpecReduce_1 101# happyReduction_403-happyReduction_403 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 ->- happyIn108- (happy_var_1- )}--happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404-happyReduction_404 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->- case happyOut107 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CEqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn108 r))--happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405-happyReduction_405 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->- case happyOut107 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CNeqOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn108 r))--happyReduce_406 = happySpecReduce_1 102# happyReduction_406-happyReduction_406 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 ->- happyIn109- (happy_var_1- )}--happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407-happyReduction_407 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut109 happy_x_1 of { happy_var_1 ->- case happyOut108 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CAndOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn109 r))--happyReduce_408 = happySpecReduce_1 103# happyReduction_408-happyReduction_408 happy_x_1- = case happyOut109 happy_x_1 of { happy_var_1 ->- happyIn110- (happy_var_1- )}--happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409-happyReduction_409 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut110 happy_x_1 of { happy_var_1 ->- case happyOut109 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CXorOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn110 r))--happyReduce_410 = happySpecReduce_1 104# happyReduction_410-happyReduction_410 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 ->- happyIn111- (happy_var_1- )}--happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411-happyReduction_411 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut111 happy_x_1 of { happy_var_1 ->- case happyOut110 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary COrOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn111 r))--happyReduce_412 = happySpecReduce_1 105# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 ->- happyIn112- (happy_var_1- )}--happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413-happyReduction_413 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut112 happy_x_1 of { happy_var_1 ->- case happyOut111 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLndOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn112 r))--happyReduce_414 = happySpecReduce_1 106# happyReduction_414-happyReduction_414 happy_x_1- = case happyOut112 happy_x_1 of { happy_var_1 ->- happyIn113- (happy_var_1- )}--happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415-happyReduction_415 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->- case happyOut112 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CBinary CLorOp happy_var_1 happy_var_3)}}- ) (\r -> happyReturn (happyIn113 r))--happyReduce_416 = happySpecReduce_1 107# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 ->- happyIn114- (happy_var_1- )}--happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417-happyReduction_417 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->- case happyOut117 happy_x_3 of { happy_var_3 ->- case happyOut114 happy_x_5 of { happy_var_5 ->- ( withNodeInfo happy_var_1 $ CCond happy_var_1 (Just happy_var_3) happy_var_5)}}}- ) (\r -> happyReturn (happyIn114 r))--happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418-happyReduction_418 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->- case happyOut114 happy_x_4 of { happy_var_4 ->- ( withNodeInfo happy_var_1 $ CCond happy_var_1 Nothing happy_var_4)}}- ) (\r -> happyReturn (happyIn114 r))--happyReduce_419 = happySpecReduce_1 108# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 ->- happyIn115- (happy_var_1- )}--happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420-happyReduction_420 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut101 happy_x_1 of { happy_var_1 ->- case happyOut116 happy_x_2 of { happy_var_2 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ CAssign (unL happy_var_2) happy_var_1 happy_var_3)}}}- ) (\r -> happyReturn (happyIn115 r))--happyReduce_421 = happySpecReduce_1 109# happyReduction_421-happyReduction_421 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CAssignOp (posOf happy_var_1)- )}--happyReduce_422 = happySpecReduce_1 109# happyReduction_422-happyReduction_422 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CMulAssOp (posOf happy_var_1)- )}--happyReduce_423 = happySpecReduce_1 109# happyReduction_423-happyReduction_423 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CDivAssOp (posOf happy_var_1)- )}--happyReduce_424 = happySpecReduce_1 109# happyReduction_424-happyReduction_424 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CRmdAssOp (posOf happy_var_1)- )}--happyReduce_425 = happySpecReduce_1 109# happyReduction_425-happyReduction_425 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CAddAssOp (posOf happy_var_1)- )}--happyReduce_426 = happySpecReduce_1 109# happyReduction_426-happyReduction_426 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CSubAssOp (posOf happy_var_1)- )}--happyReduce_427 = happySpecReduce_1 109# happyReduction_427-happyReduction_427 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CShlAssOp (posOf happy_var_1)- )}--happyReduce_428 = happySpecReduce_1 109# happyReduction_428-happyReduction_428 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CShrAssOp (posOf happy_var_1)- )}--happyReduce_429 = happySpecReduce_1 109# happyReduction_429-happyReduction_429 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CAndAssOp (posOf happy_var_1)- )}--happyReduce_430 = happySpecReduce_1 109# happyReduction_430-happyReduction_430 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L CXorAssOp (posOf happy_var_1)- )}--happyReduce_431 = happySpecReduce_1 109# happyReduction_431-happyReduction_431 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn116- (L COrAssOp (posOf happy_var_1)- )}--happyReduce_432 = happySpecReduce_1 110# happyReduction_432-happyReduction_432 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn117- (happy_var_1- )}--happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433-happyReduction_433 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->- case happyOut118 happy_x_3 of { happy_var_3 ->- ( let es = reverse happy_var_3 in withNodeInfo es $ CComma (happy_var_1:es))}}- ) (\r -> happyReturn (happyIn117 r))--happyReduce_434 = happySpecReduce_1 111# happyReduction_434-happyReduction_434 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn118- (singleton happy_var_1- )}--happyReduce_435 = happySpecReduce_3 111# happyReduction_435-happyReduction_435 happy_x_3- happy_x_2- happy_x_1- = case happyOut118 happy_x_1 of { happy_var_1 ->- case happyOut115 happy_x_3 of { happy_var_3 ->- happyIn118- (happy_var_1 `snoc` happy_var_3- )}}--happyReduce_436 = happySpecReduce_0 112# happyReduction_436-happyReduction_436 = happyIn119- (Nothing- )--happyReduce_437 = happySpecReduce_1 112# happyReduction_437-happyReduction_437 happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 ->- happyIn119- (Just happy_var_1- )}--happyReduce_438 = happySpecReduce_0 113# happyReduction_438-happyReduction_438 = happyIn120- (Nothing- )--happyReduce_439 = happySpecReduce_1 113# happyReduction_439-happyReduction_439 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 ->- happyIn120- (Just happy_var_1- )}--happyReduce_440 = happySpecReduce_1 114# happyReduction_440-happyReduction_440 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 ->- happyIn121- (happy_var_1- )}--happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441-happyReduction_441 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokILit _ i -> CIntConst i)}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442-happyReduction_442 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokCLit _ c -> CCharConst c)}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443-happyReduction_443 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokFLit _ f -> CFloatConst f)}- ) (\r -> happyReturn (happyIn122 r))--happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444-happyReduction_444 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit s)}- ) (\r -> happyReturn (happyIn123 r))--happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445-happyReduction_445 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- case happyOut124 happy_x_2 of { happy_var_2 ->- ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit (concatCStrings (s : reverse happy_var_2)))}}- ) (\r -> happyReturn (happyIn123 r))--happyReduce_446 = happySpecReduce_1 117# happyReduction_446-happyReduction_446 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 ->- happyIn124- (case happy_var_1 of CTokSLit _ s -> singleton s- )}--happyReduce_447 = happySpecReduce_2 117# happyReduction_447-happyReduction_447 happy_x_2- happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 ->- case happyOutTok happy_x_2 of { happy_var_2 ->- happyIn124- (case happy_var_2 of CTokSLit _ s -> happy_var_1 `snoc` s- )}}--happyReduce_448 = happySpecReduce_1 118# happyReduction_448-happyReduction_448 happy_x_1- = case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- happyIn125- (happy_var_1- )}--happyReduce_449 = happySpecReduce_1 118# happyReduction_449-happyReduction_449 happy_x_1- = case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->- happyIn125- (happy_var_1- )}--happyReduce_450 = happySpecReduce_0 119# happyReduction_450-happyReduction_450 = happyIn126- ([]- )--happyReduce_451 = happySpecReduce_1 119# happyReduction_451-happyReduction_451 happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- happyIn126- (happy_var_1- )}--happyReduce_452 = happySpecReduce_1 120# happyReduction_452-happyReduction_452 happy_x_1- = case happyOut128 happy_x_1 of { happy_var_1 ->- happyIn127- (happy_var_1- )}--happyReduce_453 = happySpecReduce_2 120# happyReduction_453-happyReduction_453 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 ->- case happyOut128 happy_x_2 of { happy_var_2 ->- happyIn127- (happy_var_1 ++ happy_var_2- )}}--happyReduce_454 = happyReduce 6# 121# happyReduction_454-happyReduction_454 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut129 happy_x_4 of { happy_var_4 ->- happyIn128- (reverse happy_var_4- ) `HappyStk` happyRest}--happyReduce_455 = happySpecReduce_1 122# happyReduction_455-happyReduction_455 happy_x_1- = case happyOut130 happy_x_1 of { happy_var_1 ->- happyIn129- (case happy_var_1 of Nothing -> empty; Just attr -> singleton attr- )}--happyReduce_456 = happySpecReduce_3 122# happyReduction_456-happyReduction_456 happy_x_3- happy_x_2- happy_x_1- = case happyOut129 happy_x_1 of { happy_var_1 ->- case happyOut130 happy_x_3 of { happy_var_3 ->- happyIn129- ((maybe id (flip snoc) happy_var_3) happy_var_1- )}}--happyReduce_457 = happySpecReduce_0 123# happyReduction_457-happyReduction_457 = happyIn130- (Nothing- )--happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458-happyReduction_458 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 [])}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459-happyReduction_459 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->- ( withNodeInfo happy_var_1 $ Just . CAttr (internalIdent "const") [])}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460-happyReduction_460 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- case happyOut131 happy_x_3 of { happy_var_3 ->- ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 (reverse happy_var_3))}}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461-happyReduction_461 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { (CTokIdent _ happy_var_1) ->- ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 [])}- ) (\r -> happyReturn (happyIn130 r))--happyReduce_462 = happySpecReduce_1 124# happyReduction_462-happyReduction_462 happy_x_1- = case happyOut121 happy_x_1 of { happy_var_1 ->- happyIn131- (singleton happy_var_1- )}--happyReduce_463 = happySpecReduce_3 124# happyReduction_463-happyReduction_463 happy_x_3- happy_x_2- happy_x_1- = case happyOut131 happy_x_1 of { happy_var_1 ->- case happyOut121 happy_x_3 of { happy_var_3 ->- happyIn131- (happy_var_1 `snoc` happy_var_3- )}}--happyNewToken action sts stk- = lexC(\tk ->- let cont i = happyDoAction i tk action sts stk in- case tk of {- CTokEof -> happyDoAction 101# tk action sts stk;- CTokLParen _ -> cont 1#;- CTokRParen _ -> cont 2#;- CTokLBracket _ -> cont 3#;- CTokRBracket _ -> cont 4#;- CTokArrow _ -> cont 5#;- CTokDot _ -> cont 6#;- CTokExclam _ -> cont 7#;- CTokTilde _ -> cont 8#;- CTokInc _ -> cont 9#;- CTokDec _ -> cont 10#;- CTokPlus _ -> cont 11#;- CTokMinus _ -> cont 12#;- CTokStar _ -> cont 13#;- CTokSlash _ -> cont 14#;- CTokPercent _ -> cont 15#;- CTokAmper _ -> cont 16#;- CTokShiftL _ -> cont 17#;- CTokShiftR _ -> cont 18#;- CTokLess _ -> cont 19#;- CTokLessEq _ -> cont 20#;- CTokHigh _ -> cont 21#;- CTokHighEq _ -> cont 22#;- CTokEqual _ -> cont 23#;- CTokUnequal _ -> cont 24#;- CTokHat _ -> cont 25#;- CTokBar _ -> cont 26#;- CTokAnd _ -> cont 27#;- CTokOr _ -> cont 28#;- CTokQuest _ -> cont 29#;- CTokColon _ -> cont 30#;- CTokAssign _ -> cont 31#;- CTokPlusAss _ -> cont 32#;- CTokMinusAss _ -> cont 33#;- CTokStarAss _ -> cont 34#;- CTokSlashAss _ -> cont 35#;- CTokPercAss _ -> cont 36#;- CTokAmpAss _ -> cont 37#;- CTokHatAss _ -> cont 38#;- CTokBarAss _ -> cont 39#;- CTokSLAss _ -> cont 40#;- CTokSRAss _ -> cont 41#;- CTokComma _ -> cont 42#;- CTokSemic _ -> cont 43#;- CTokLBrace _ -> cont 44#;- CTokRBrace _ -> cont 45#;- CTokEllipsis _ -> cont 46#;- CTokAlignof _ -> cont 47#;- CTokAsm _ -> cont 48#;- CTokAuto _ -> cont 49#;- CTokBreak _ -> cont 50#;- CTokBool _ -> cont 51#;- CTokCase _ -> cont 52#;- CTokChar _ -> cont 53#;- CTokConst _ -> cont 54#;- CTokContinue _ -> cont 55#;- CTokComplex _ -> cont 56#;- CTokDefault _ -> cont 57#;- CTokDo _ -> cont 58#;- CTokDouble _ -> cont 59#;- CTokElse _ -> cont 60#;- CTokEnum _ -> cont 61#;- CTokExtern _ -> cont 62#;- CTokFloat _ -> cont 63#;- CTokFor _ -> cont 64#;- CTokGoto _ -> cont 65#;- CTokIf _ -> cont 66#;- CTokInline _ -> cont 67#;- CTokInt _ -> cont 68#;- CTokLong _ -> cont 69#;- CTokLabel _ -> cont 70#;- CTokRegister _ -> cont 71#;- CTokRestrict _ -> cont 72#;- CTokReturn _ -> cont 73#;- CTokShort _ -> cont 74#;- CTokSigned _ -> cont 75#;- CTokSizeof _ -> cont 76#;- CTokStatic _ -> cont 77#;- CTokStruct _ -> cont 78#;- CTokSwitch _ -> cont 79#;- CTokTypedef _ -> cont 80#;- CTokTypeof _ -> cont 81#;- CTokThread _ -> cont 82#;- CTokUnion _ -> cont 83#;- CTokUnsigned _ -> cont 84#;- CTokVoid _ -> cont 85#;- CTokVolatile _ -> cont 86#;- CTokWhile _ -> cont 87#;- CTokCLit _ _ -> cont 88#;- CTokILit _ _ -> cont 89#;- CTokFLit _ _ -> cont 90#;- CTokSLit _ _ -> cont 91#;- CTokIdent _ happy_dollar_dollar -> cont 92#;- CTokTyIdent _ happy_dollar_dollar -> cont 93#;- CTokGnuC GnuCAttrTok _ -> cont 94#;- CTokGnuC GnuCExtTok _ -> cont 95#;- CTokGnuC GnuCComplexReal _ -> cont 96#;- CTokGnuC GnuCComplexImag _ -> cont 97#;- CTokGnuC GnuCVaArg _ -> cont 98#;- CTokGnuC GnuCOffsetof _ -> cont 99#;- CTokGnuC GnuCTyCompat _ -> cont 100#;- _ -> happyError' tk- })--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => CToken -> P a-happyError' tk = (\token -> happyError) tk--translation_unit = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut7 x))--external_declaration = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut9 x))--statement = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut12 x))--expression = happySomeParser where- happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut117 x))--happySeq = happyDontSeq----- sometimes it is neccessary to reverse an unreversed list-reverseList :: [a] -> Reversed [a]-reverseList = Reversed . List.reverse---- We occasionally need things to have a location when they don't naturally--- have one built in as tokens and most AST elements do.----data Located a = L !a !Position--unL :: Located a -> a-unL (L a pos) = a--instance Pos (Located a) where- posOf (L _ pos) = pos---- FIXME: the next 3 inlines here increase the object file size by 70%--- Check whether the speed win is worth it-{-# INLINE withNodeInfo #-}-withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a-withNodeInfo node mkAttrNode = do- name <- getNewName- lastTok <- getSavedToken- let firstPos = posOf node- let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name- attrs `seq` return (mkAttrNode attrs)--{-# INLINE withLength #-}-withLength :: NodeInfo -> (NodeInfo -> a) -> P a-withLength nodeinfo mkAttrNode = do- lastTok <- getSavedToken- let firstPos = posOfNode nodeinfo- let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok)- (maybe (error "nameOfNode") id (nameOfNode nodeinfo))- attrs `seq` return (mkAttrNode attrs)--data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr]) (Maybe CStrLit) [CAttr] NodeInfo-reverseDeclr :: CDeclrR -> CDeclr-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)- = CDeclr ide (reverse reversedDDs) asmname cattrs at-instance CNode (CDeclrR) where- nodeInfo (CDeclrR _ _ _ _ n) = n-instance Pos (CDeclrR) where- posOf (CDeclrR _ _ _ _ n) = posOf n--{-# INLINE withAttribute #-}-withAttribute :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR-withAttribute node cattrs mkDeclrNode = do- name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs- attrs `seq` newDeclr `seq` return newDeclr---- postfixing variant-{-# INLINE withAttributePF #-}-withAttributePF :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)-withAttributePF node cattrs mkDeclrCtor = do- name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs- attrs `seq` newDeclr `seq` return newDeclr---- add top level attributes for a declarator.------ In the following example------ > int declr1, __attribute__((a1)) * __attribute__((a2)) y() __asm__("$" "y") __attribute__((a3));------ the attributes `a1' and `a3' are top-level attributes for y.--- The (pseudo)-AST for the second declarator is------ > CDeclr "y"--- > [CFunDeclr ..., CPtrDeclr __attribute__((a2)) ... ]--- > (asm "$y")--- > [__attribute__((a1)), __attribute__((a3)) ]------ So assembler names and preceeding and trailing attributes are recorded in object declarator.----appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr-appendObjAttrs newAttrs (CDeclr ident indirections asmname cAttrs at)- = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at-appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR-appendObjAttrsR newAttrs (CDeclrR ident indirections asmname cAttrs at)- = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at--setAsmName :: Maybe CStrLit -> CDeclrR -> P CDeclrR-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at) =- case combineName mAsmName oldName of- Left (n1,n2) -> failP (posOf n2) ["Duplicate assembler name: ",showName n1,showName n2]- Right newName -> return $ CDeclrR ident indirections newName cattrs at- where- combineName Nothing Nothing = Right Nothing- combineName Nothing oldname@(Just _) = Right oldname- combineName newname@(Just _) Nothing = Right newname- combineName (Just n1) (Just n2) = Left (n1,n2)- showName (CStrLit cstr _) = show cstr--withAsmNameAttrs :: (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR-withAsmNameAttrs (mAsmName, newAttrs) declr = setAsmName mAsmName (appendObjAttrsR newAttrs declr)--appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed []) asmname cattrs at)- = CDeclrR ident empty asmname (cattrs ++ newAttrs) at-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed (x:xs)) asmname cattrs at)- = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at where- appendAttrs (CPtrDeclr typeQuals at) = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at- appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at- appendAttrs (CFunDeclr parameters cattrs at) = CFunDeclr parameters (cattrs ++ newAttrs) at--ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals at- = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname cattrs dat-funDeclr :: CDeclrR -> (Either [Ident] ([CDecl],Bool)) -> [CAttr] -> NodeInfo -> CDeclrR-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params cattrs at- = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at) asmname dcattrs dat-arrDeclr :: CDeclrR -> [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals var_sized static_size size_expr_opt at- = arr_sz `seq` ( CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at) asmname cattrs dat )- where- arr_sz = case size_expr_opt of- Just e -> CArrSize static_size e- Nothing -> CNoArrSize var_sized--liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]-liftTypeQuals = map CTypeQual . reverse---- lift CAttrs to DeclSpecs----liftCAttrs :: [CAttr] -> [CDeclSpec]-liftCAttrs = map (CTypeQual . CAttrQual)---- when we parsed (decl_spec_1,...,decl_spec_n,attrs), add the __attributes__s to the declspec list--- needs special care when @decl_spec_n@ is a SUE definition-addTrailingAttrs :: Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]-addTrailingAttrs declspecs new_attrs =- case viewr declspecs of- (specs_init, CTypeSpec (CSUType (CStruct tag name (Just def) def_attrs su_node) node))- -> (specs_init `snoc` CTypeSpec (CSUType (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node) node))- (specs_init, CTypeSpec (CEnumType (CEnum name (Just def) def_attrs e_node) node))- -> (specs_init `snoc` CTypeSpec (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node) node))- _ -> declspecs `rappend` (liftCAttrs new_attrs)---- convenient instance, the position of a list of things is the position of--- the first thing in the list----instance Pos a => Pos [a] where- posOf (x:_) = posOf x--instance Pos a => Pos (Reversed a) where- posOf (Reversed x) = posOf x--emptyDeclr :: CDeclrR-emptyDeclr = CDeclrR Nothing empty Nothing [] undefNode-mkVarDeclr :: Ident -> NodeInfo -> CDeclrR-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []---- Take the identifiers and use them to update the typedef'ed identifier set--- if the decl is defining a typedef then we add it to the set,--- if it's a var decl then that shadows typedefed identifiers----doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _) =- case mIdent of- Nothing -> return ()- Just ident | any iypedef declspecs -> addTypedef ident- | otherwise -> shadowTypedef ident-- where iypedef (CStorageSpec (CTypedef _)) = True- iypedef _ = False--doFuncParamDeclIdent :: CDeclr -> P ()-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _) =- sequence_- [ case getCDeclrIdent declr of- Nothing -> return ()- Just ident -> shadowTypedef ident- | CDecl _ dle _ <- either (const []) fst params- , (Just declr, _, _) <- dle ]-doFuncParamDeclIdent _ = return ()---- extract all identifiers-getCDeclrIdent :: CDeclr -> Maybe Ident-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent--happyError :: P a-happyError = parseError---- * public interface---- | @parseC input initialPos@ parses the given preprocessed C-source input and returns the AST or a list of parse errors.-parseC :: InputStream -> Position -> Either ParseError CTranslUnit-parseC input initialPosition =- fmap fst $ execParser translUnitP input initialPosition builtinTypeNames (namesStartingFrom 0)---- | @translUnitP@ provides a parser for a complete C translation unit, i.e. a list of external declarations.-translUnitP :: P CTranslUnit-translUnitP = translation_unit--- | @extDeclP@ provides a parser for an external (file-scope) declaration-extDeclP :: P CExtDecl-extDeclP = external_declaration--- | @statementP@ provides a parser for C statements-statementP :: P CStat-statementP = statement--- | @expressionP@ provides a parser for C expressions-expressionP :: P CExpr-expressionP = expression-{-# LINE 1 "GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp--{-# LINE 28 "GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "GenericTemplate.hs" #-}--{-# LINE 59 "GenericTemplate.hs" #-}--{-# LINE 68 "GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) =- (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}--- case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | (n <# (0# :: Int#)) -> {- nothing -}-- (happyReduceArr ! rule) i tk st- where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))- n -> {- nothing -}--- happyShift new_state i tk st- where new_state = (n -# (1# :: Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off +# i)- check = if (off_i >=# (0# :: Int#))- then (indexShortOffAddr happyCheck off_i ==# i)- else False- action | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =--- #if __GLASGOW_HASKELL__ > 500- narrow16Int# i--- #elif __GLASGOW_HASKELL__ == 500- intToInt16# i--- #else- (i `iShiftL#` 16#) `iShiftRA#` 16#--- #endif- where--- #if __GLASGOW_HASKELL__ >= 503- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)--- #else- i = word2Int# ((high `shiftL#` 8#) `or#` low)--- #endif- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k -# (1# :: Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st =- {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail 0# tk old_st _ stk =--- trace "failing" $- happyError_ tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts))- (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits--- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
− tests/examples/CParser.hs.exactprinter.golden
@@ -1,1 +0,0 @@-Match
− tests/examples/CParser.hs.parser.golden
file too large to diff
− tests/examples/CParser.hs.prettyparser.golden
@@ -1,10 +0,0 @@-Roundtrip test failed--AST 1:--Module (SrcLoc "" -1 -1) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc "" -1 -1) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc "" -1 -1) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs NoNamespace (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc "" -1 -1) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyAbsSyn") [TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon)))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyActOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyGotoOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyDefActions")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyCheck")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyTable")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduceArr")) (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_terms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_nonterms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_4")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "decls")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc "" -1 -1) (PList []) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) Nothing,Alt (SrcLoc "" -1 -1) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_5")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_5")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_6")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_7")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_8")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_9")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_10")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_11")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_12")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_13")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_14")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_15")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_16")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_17")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_18")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_19")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_20")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_21")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_22")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_23")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_24")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_25")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_26")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declr")) (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_27")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_28")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_29")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_30")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_31")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_32")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_33")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_34")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_35")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_36")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_37")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_38")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_39")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_40")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_41")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_42")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_42")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_43")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_44")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_45")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_46")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_47")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_48")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_49")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_50")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_51")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_52")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_53")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_54")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_55")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_56")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_57")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_58")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_59")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_60")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_61")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_62")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_63")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_64")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_65")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_66")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_67")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_68")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_69")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_70")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_71")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_72")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_73")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_10")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_74")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_74")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_75")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_76")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_76")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_77")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_78")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_79")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_80")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_81")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_82")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_83")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_84")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_85")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_86")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_87")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_88")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_89")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_89")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_90")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_91")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_92")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_93")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_94")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_95")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_96")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_97")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_98")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_99")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_100")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_101")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_102")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_103")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_104")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_105")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_106")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_107")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_108")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_109")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_110")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_111")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_112")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_113")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_114")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_115")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_116")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_117")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_118")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_119")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_120")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_121")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_122")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_123")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_124")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_125")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_126")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_127")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_128")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_129")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_130")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_131")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_132")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_133")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_134")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_135")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_136")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_137")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_138")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_139")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_140")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_141")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_142")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_143")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_144")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_145")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_146")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_147")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_148")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_149")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_150")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_151")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_152")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_153")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_154")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_155")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_156")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_157")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_158")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_159")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_160")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_161")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_162")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_163")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_164")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_165")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_166")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_167")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_168")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_169")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_170")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_171")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_172")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_173")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_174")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_175")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_176")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_177")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_178")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_179")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_180")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_180")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_181")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_182")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_183")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_184")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_185")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_186")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_187")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_188")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_189")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_190")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_191")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_192")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_193")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_194")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_195")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_196")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_197")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_198")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedRhs (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedRhs (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_199")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_200")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_201")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_202")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_203")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_204")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_205")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_206")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_207")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_208")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_209")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_210")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_211")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_212")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_213")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_214")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_215")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_216")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_217")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_217")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_218")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_219")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_220")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_221")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_222")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_223")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_224")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_225")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_226")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_227")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_228")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_229")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_230")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_231")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_232")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_233")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_234")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_235")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_236")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_237")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_238")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_239")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_240")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_241")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_242")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_243")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_244")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_245")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_246")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_247")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_248")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_249")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_250")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_251")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_252")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_253")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_254")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_255")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_256")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_257")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_258")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_259")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_260")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_261")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_262")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_263")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_264")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_265")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_266")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_267")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_267")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_268")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_269")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_270")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_271")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_272")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_273")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_274")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_275")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_276")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_277")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_278")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_279")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_280")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_281")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_282")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_283")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_284")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_285")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_286")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_287")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_288")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_289")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_290")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_291")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_292")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_293")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_294")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_295")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_296")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_297")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) Nothing]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_298")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_299")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_300")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_301")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_302")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_303")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_304")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_305")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_306")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_307")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_308")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_309")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_310")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_311")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_312")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_313")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_314")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_315")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_316")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_317")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_318")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_319")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_320")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_321")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_322")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_323")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_324")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_325")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_326")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_327")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_328")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_329")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_329")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_330")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_331")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_331")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_332")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_333")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_334")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_335")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_336")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_337")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_338")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_339")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_340")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_341")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_342")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_343")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_344")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_345")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_346")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_347")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_348")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_349")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_350")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_351")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_352")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_353")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_354")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_355")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_356")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_357")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_358")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_359")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_360")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_361")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_362")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_363")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_364")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_365")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_366")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_367")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_368")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_369")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_370")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_371")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_372")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_373")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_374")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_375")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_376")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_377")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_378")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_379")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_380")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_381")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_382")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_383")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_384")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_385")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_386")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_387")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_388")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_389")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_390")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_391")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_392")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_393")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_394")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_395")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_396")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_397")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_398")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_399")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_400")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_401")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_402")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_403")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_404")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_405")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_406")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_407")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_408")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_409")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_410")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_411")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_412")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_413")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_414")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_415")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_416")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_417")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_418")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_419")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_420")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_421")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_422")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_423")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_424")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_425")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_426")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_427")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_428")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_429")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_430")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_431")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_432")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_433")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "es")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) Nothing]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_434")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_435")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_436")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_436")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_437")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_438")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_438")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_439")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_440")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_441")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedRhs (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_442")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedRhs (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_443")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedRhs (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_444")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_445")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_446")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_447")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_448")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_449")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_450")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_450")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_451")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_452")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_453")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_454")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_455")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (Var (UnQual (Ident "empty")))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_456")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_457")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_457")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_458")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_459")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_460")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_461")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_462")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_463")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing])))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyForall Nothing [] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b")))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen")) (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn")) (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen1")) (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn1"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn1")) (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyError'"] (TyForall Nothing [] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "translation_unit")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "external_declaration")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statement")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expression")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySeq")) (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "reverseList")) (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "L") [TyBang BangedTy (TyVar (Ident "a")),TyBang BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc "" -1 -1) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc "" -1 -1) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc "" -1 -1) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "CDeclrR") [TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident")))),TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr"))))),TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))),TyList (TyCon (UnQual (Ident "CAttr"))),TyCon (UnQual (Ident "NodeInfo"))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedRhs (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "arr_sz")) (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) Nothing])) Nothing]))],TypeSig (SrcLoc "" -1 -1) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftTypeQuals")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftCAttrs")) (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) Nothing])) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],TypeSig (SrcLoc "" -1 -1) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "emptyDeclr")) (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedRhs (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) Nothing]) [QualStmt (Generator (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) Nothing,Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyError")) (UnGuardedRhs (Var (UnQual (Ident "parseError")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "translUnitP")) (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "extDeclP")) (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statementP")) (UnGuardedRhs (Var (UnQual (Ident "statement")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expressionP")) (UnGuardedRhs (Var (UnQual (Ident "expression")))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyCons") [TyCon (UnQual (Ident "Int#")),TyCon (UnQual (Ident "Happy_IntList"))])] [],InfixDecl (SrcLoc "" -1 -1) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyStk") [TyVar (Ident "a"),TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a")))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc "" -1 -1) (PLit Signless (PrimInt 0)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PLit Negative (PrimInt 1)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "rule")) (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) Nothing])),Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) Nothing]))])) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "check")) (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "action")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "high")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "low")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off'")) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) Nothing]))],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyA#") [TyCon (UnQual (Ident "Addr#"))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedRhs (Var (UnQual (Ident "i")))) Nothing]))) Nothing]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'"))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) Nothing]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyFail") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "notHappyAtAll")) (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc "" -1 -1) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) Nothing],InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyFail"))]--AST 2:--Module (SrcLoc "" -1 -1) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc "" -1 -1) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc "" -1 -1) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs NoNamespace (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc "" -1 -1) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyAbsSyn") [TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon)))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyActOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyGotoOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyDefActions")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyCheck")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyTable")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduceArr")) (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_terms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_nonterms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_4")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "decls")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc "" -1 -1) (PList []) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) Nothing,Alt (SrcLoc "" -1 -1) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_5")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_5")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_6")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_7")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_8")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_9")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_10")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_11")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_12")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_13")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_14")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_15")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_16")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_17")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_18")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_19")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_20")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_21")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_22")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_23")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_24")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_25")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_26")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declr")) (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_27")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_28")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_29")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_30")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_31")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_32")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_33")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_34")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_35")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_36")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_37")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_38")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_39")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_40")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_41")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_42")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_42")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_43")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_44")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_45")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_46")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_47")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_48")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_49")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_50")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_51")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_52")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_53")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_54")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_55")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_56")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_57")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_58")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_59")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_60")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_61")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_62")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_63")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_64")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_65")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_66")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_67")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_68")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_69")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_70")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_71")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_72")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_73")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_10")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_74")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_74")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_75")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_76")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_76")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_77")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_78")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_79")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_80")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_81")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_82")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_83")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_84")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_85")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_86")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_87")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_88")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_89")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_89")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_90")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_91")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_92")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_93")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_94")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_95")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_96")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_97")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_98")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_99")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_100")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_101")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_102")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_103")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_104")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_105")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_106")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_107")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_108")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_109")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_110")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_111")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_112")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_113")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_114")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_115")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_116")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_117")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_118")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_119")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_120")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_121")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_122")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_123")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_124")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_125")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_126")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_127")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_128")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_129")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_130")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_131")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_132")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_133")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_134")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_135")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_136")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_137")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_138")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_139")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_140")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_141")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_142")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_143")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_144")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_145")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_146")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_147")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_148")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_149")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_150")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_151")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_152")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_153")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_154")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_155")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_156")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_157")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_158")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_159")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_160")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_161")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_162")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_163")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_164")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_165")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_166")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_167")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_168")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_169")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_170")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_171")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_172")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_173")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_174")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_175")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_176")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_177")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_178")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_179")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_180")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_180")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_181")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_182")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_183")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_184")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_185")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_186")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_187")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_188")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_189")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_190")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_191")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_192")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_193")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_194")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_195")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_196")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_197")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_198")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedRhs (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedRhs (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_199")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_200")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_201")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_202")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_203")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_204")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_205")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_206")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_207")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_208")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_209")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_210")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_211")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_212")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_213")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_214")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_215")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_216")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_217")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_217")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_218")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_219")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_220")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_221")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_222")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_223")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_224")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_225")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_226")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_227")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_228")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_229")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_230")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_231")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_232")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_233")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_234")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_235")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_236")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_237")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_238")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_239")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_240")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_241")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_242")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_243")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_244")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_245")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_246")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_247")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_248")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_249")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_250")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_251")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_252")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_253")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_254")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_255")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_256")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_257")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_258")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_259")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_260")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_261")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_262")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_263")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_264")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_265")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_266")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_267")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_267")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_268")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_269")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_270")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_271")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_272")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_273")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_274")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_275")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_276")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_277")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_278")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_279")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_280")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_281")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_282")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_283")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_284")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_285")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_286")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_287")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_288")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_289")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_290")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_291")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_292")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_293")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_294")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_295")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_296")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_297")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) Nothing]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_298")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_299")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_300")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_301")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_302")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_303")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_304")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_305")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_306")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_307")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_308")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_309")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_310")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_311")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_312")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_313")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_314")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_315")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_316")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_317")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_318")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_319")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_320")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_321")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_322")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_323")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_324")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_325")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_326")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_327")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_328")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_329")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_329")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_330")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_331")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_331")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_332")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_333")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_334")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_335")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_336")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_337")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_338")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_339")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_340")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_341")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_342")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_343")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_344")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_345")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_346")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_347")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_348")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_349")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_350")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_351")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_352")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_353")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_354")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_355")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_356")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_357")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_358")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_359")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_360")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_361")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_362")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_363")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_364")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_365")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_366")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_367")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_368")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_369")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_370")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_371")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_372")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_373")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_374")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_375")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_376")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_377")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_378")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_379")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_380")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_381")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_382")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_383")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_384")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_385")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_386")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_387")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_388")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_389")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_390")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_391")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_392")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_393")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_394")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_395")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_396")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_397")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_398")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_399")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_400")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_401")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_402")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_403")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_404")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_405")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_406")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_407")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_408")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_409")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_410")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_411")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_412")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_413")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_414")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_415")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_416")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_417")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_418")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_419")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_420")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_421")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_422")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_423")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_424")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_425")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_426")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_427")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_428")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_429")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_430")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_431")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_432")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_433")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "es")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) Nothing]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_434")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_435")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_436")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_436")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_437")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_438")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_438")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_439")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_440")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_441")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedRhs (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_442")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedRhs (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_443")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedRhs (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_444")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_445")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_446")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_447")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_448")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_449")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_450")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_450")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_451")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_452")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_453")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_454")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_455")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (Var (UnQual (Ident "empty")))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_456")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_457")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_457")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_458")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_459")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_460")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_461")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_462")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_463")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing])))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen")) (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn")) (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen1")) (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn1"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn1")) (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyError'"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "translation_unit")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "external_declaration")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statement")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expression")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySeq")) (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "reverseList")) (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "L") [TyBang BangedTy (TyVar (Ident "a")),TyBang BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc "" -1 -1) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc "" -1 -1) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc "" -1 -1) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "CDeclrR") [TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident")))),TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr"))))),TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))),TyList (TyCon (UnQual (Ident "CAttr"))),TyCon (UnQual (Ident "NodeInfo"))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedRhs (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "arr_sz")) (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) Nothing])) Nothing]))],TypeSig (SrcLoc "" -1 -1) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftTypeQuals")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftCAttrs")) (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) Nothing])) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],TypeSig (SrcLoc "" -1 -1) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "emptyDeclr")) (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedRhs (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) Nothing]) [QualStmt (Generator (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) Nothing,Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyError")) (UnGuardedRhs (Var (UnQual (Ident "parseError")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "translUnitP")) (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "extDeclP")) (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statementP")) (UnGuardedRhs (Var (UnQual (Ident "statement")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expressionP")) (UnGuardedRhs (Var (UnQual (Ident "expression")))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyCons") [TyCon (UnQual (Ident "Int#")),TyCon (UnQual (Ident "Happy_IntList"))])] [],InfixDecl (SrcLoc "" -1 -1) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyStk") [TyVar (Ident "a"),TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a")))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard)))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc "" -1 -1) (PLit Signless (PrimInt 0)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PLit Negative (PrimInt 1)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "rule")) (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) Nothing])),Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) Nothing]))])) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "check")) (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "action")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "high")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "low")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off'")) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) Nothing]))],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyA#") [TyCon (UnQual (Ident "Addr#"))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedRhs (Var (UnQual (Ident "i")))) Nothing]))) Nothing]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) Nothing]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyFail") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "notHappyAtAll")) (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc "" -1 -1) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) Nothing],InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyFail"))]-
− tests/examples/CParser.hs.prettyprinter.golden
@@ -1,6540 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LANGUAGE MagicHash #-}-module Language.C.Parser.Parser- (parseC, translUnitP, extDeclP, statementP, expressionP) where-import Prelude hiding (reverse)-import qualified Data.List as List-import Control.Monad (mplus)-import Language.C.Parser.Builtin (builtinTypeNames)-import Language.C.Parser.Lexer (lexC, parseError)-import Language.C.Parser.Tokens- (CToken(..), GnuCTok(..), posLenOfTok)-import Language.C.Parser.ParserMonad- (P, failP, execParser, getNewName, addTypedef, shadowTypedef,- getCurrentPosition, enterScope, leaveScope, getLastToken,- getSavedToken, ParseError(..))-import Language.C.Data.RList-import Language.C.Data.InputStream-import Language.C.Data.Ident-import Language.C.Data.Name-import Language.C.Data.Node-import Language.C.Data.Position-import Language.C.Syntax-import Data.Array-import Array-import GHC.Exts-import GlaExts--newtype HappyAbsSyn = HappyAbsSyn (() -> ())--happyIn7 :: (CTranslUnit) -> (HappyAbsSyn)-happyIn7 x = unsafeCoerce# x--{-# INLINE happyIn7 #-}--happyOut7 :: (HappyAbsSyn) -> (CTranslUnit)-happyOut7 x = unsafeCoerce# x--{-# INLINE happyOut7 #-}--happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn)-happyIn8 x = unsafeCoerce# x--{-# INLINE happyIn8 #-}--happyOut8 :: (HappyAbsSyn) -> (Reversed [CExtDecl])-happyOut8 x = unsafeCoerce# x--{-# INLINE happyOut8 #-}--happyIn9 :: (CExtDecl) -> (HappyAbsSyn)-happyIn9 x = unsafeCoerce# x--{-# INLINE happyIn9 #-}--happyOut9 :: (HappyAbsSyn) -> (CExtDecl)-happyOut9 x = unsafeCoerce# x--{-# INLINE happyOut9 #-}--happyIn10 :: (CFunDef) -> (HappyAbsSyn)-happyIn10 x = unsafeCoerce# x--{-# INLINE happyIn10 #-}--happyOut10 :: (HappyAbsSyn) -> (CFunDef)-happyOut10 x = unsafeCoerce# x--{-# INLINE happyOut10 #-}--happyIn11 :: (CDeclr) -> (HappyAbsSyn)-happyIn11 x = unsafeCoerce# x--{-# INLINE happyIn11 #-}--happyOut11 :: (HappyAbsSyn) -> (CDeclr)-happyOut11 x = unsafeCoerce# x--{-# INLINE happyOut11 #-}--happyIn12 :: (CStat) -> (HappyAbsSyn)-happyIn12 x = unsafeCoerce# x--{-# INLINE happyIn12 #-}--happyOut12 :: (HappyAbsSyn) -> (CStat)-happyOut12 x = unsafeCoerce# x--{-# INLINE happyOut12 #-}--happyIn13 :: (CStat) -> (HappyAbsSyn)-happyIn13 x = unsafeCoerce# x--{-# INLINE happyIn13 #-}--happyOut13 :: (HappyAbsSyn) -> (CStat)-happyOut13 x = unsafeCoerce# x--{-# INLINE happyOut13 #-}--happyIn14 :: (CStat) -> (HappyAbsSyn)-happyIn14 x = unsafeCoerce# x--{-# INLINE happyIn14 #-}--happyOut14 :: (HappyAbsSyn) -> (CStat)-happyOut14 x = unsafeCoerce# x--{-# INLINE happyOut14 #-}--happyIn15 :: (()) -> (HappyAbsSyn)-happyIn15 x = unsafeCoerce# x--{-# INLINE happyIn15 #-}--happyOut15 :: (HappyAbsSyn) -> (())-happyOut15 x = unsafeCoerce# x--{-# INLINE happyOut15 #-}--happyIn16 :: (()) -> (HappyAbsSyn)-happyIn16 x = unsafeCoerce# x--{-# INLINE happyIn16 #-}--happyOut16 :: (HappyAbsSyn) -> (())-happyOut16 x = unsafeCoerce# x--{-# INLINE happyOut16 #-}--happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn)-happyIn17 x = unsafeCoerce# x--{-# INLINE happyIn17 #-}--happyOut17 :: (HappyAbsSyn) -> (Reversed [CBlockItem])-happyOut17 x = unsafeCoerce# x--{-# INLINE happyOut17 #-}--happyIn18 :: (CBlockItem) -> (HappyAbsSyn)-happyIn18 x = unsafeCoerce# x--{-# INLINE happyIn18 #-}--happyOut18 :: (HappyAbsSyn) -> (CBlockItem)-happyOut18 x = unsafeCoerce# x--{-# INLINE happyOut18 #-}--happyIn19 :: (CBlockItem) -> (HappyAbsSyn)-happyIn19 x = unsafeCoerce# x--{-# INLINE happyIn19 #-}--happyOut19 :: (HappyAbsSyn) -> (CBlockItem)-happyOut19 x = unsafeCoerce# x--{-# INLINE happyOut19 #-}--happyIn20 :: (CFunDef) -> (HappyAbsSyn)-happyIn20 x = unsafeCoerce# x--{-# INLINE happyIn20 #-}--happyOut20 :: (HappyAbsSyn) -> (CFunDef)-happyOut20 x = unsafeCoerce# x--{-# INLINE happyOut20 #-}--happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn)-happyIn21 x = unsafeCoerce# x--{-# INLINE happyIn21 #-}--happyOut21 :: (HappyAbsSyn) -> (Reversed [Ident])-happyOut21 x = unsafeCoerce# x--{-# INLINE happyOut21 #-}--happyIn22 :: (CStat) -> (HappyAbsSyn)-happyIn22 x = unsafeCoerce# x--{-# INLINE happyIn22 #-}--happyOut22 :: (HappyAbsSyn) -> (CStat)-happyOut22 x = unsafeCoerce# x--{-# INLINE happyOut22 #-}--happyIn23 :: (CStat) -> (HappyAbsSyn)-happyIn23 x = unsafeCoerce# x--{-# INLINE happyIn23 #-}--happyOut23 :: (HappyAbsSyn) -> (CStat)-happyOut23 x = unsafeCoerce# x--{-# INLINE happyOut23 #-}--happyIn24 :: (CStat) -> (HappyAbsSyn)-happyIn24 x = unsafeCoerce# x--{-# INLINE happyIn24 #-}--happyOut24 :: (HappyAbsSyn) -> (CStat)-happyOut24 x = unsafeCoerce# x--{-# INLINE happyOut24 #-}--happyIn25 :: (CStat) -> (HappyAbsSyn)-happyIn25 x = unsafeCoerce# x--{-# INLINE happyIn25 #-}--happyOut25 :: (HappyAbsSyn) -> (CStat)-happyOut25 x = unsafeCoerce# x--{-# INLINE happyOut25 #-}--happyIn26 :: (CAsmStmt) -> (HappyAbsSyn)-happyIn26 x = unsafeCoerce# x--{-# INLINE happyIn26 #-}--happyOut26 :: (HappyAbsSyn) -> (CAsmStmt)-happyOut26 x = unsafeCoerce# x--{-# INLINE happyOut26 #-}--happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn)-happyIn27 x = unsafeCoerce# x--{-# INLINE happyIn27 #-}--happyOut27 :: (HappyAbsSyn) -> (Maybe CTypeQual)-happyOut27 x = unsafeCoerce# x--{-# INLINE happyOut27 #-}--happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn)-happyIn28 x = unsafeCoerce# x--{-# INLINE happyIn28 #-}--happyOut28 :: (HappyAbsSyn) -> ([CAsmOperand])-happyOut28 x = unsafeCoerce# x--{-# INLINE happyOut28 #-}--happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn)-happyIn29 x = unsafeCoerce# x--{-# INLINE happyIn29 #-}--happyOut29 :: (HappyAbsSyn) -> (Reversed [CAsmOperand])-happyOut29 x = unsafeCoerce# x--{-# INLINE happyOut29 #-}--happyIn30 :: (CAsmOperand) -> (HappyAbsSyn)-happyIn30 x = unsafeCoerce# x--{-# INLINE happyIn30 #-}--happyOut30 :: (HappyAbsSyn) -> (CAsmOperand)-happyOut30 x = unsafeCoerce# x--{-# INLINE happyOut30 #-}--happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn)-happyIn31 x = unsafeCoerce# x--{-# INLINE happyIn31 #-}--happyOut31 :: (HappyAbsSyn) -> (Reversed [CStrLit])-happyOut31 x = unsafeCoerce# x--{-# INLINE happyOut31 #-}--happyIn32 :: (CDecl) -> (HappyAbsSyn)-happyIn32 x = unsafeCoerce# x--{-# INLINE happyIn32 #-}--happyOut32 :: (HappyAbsSyn) -> (CDecl)-happyOut32 x = unsafeCoerce# x--{-# INLINE happyOut32 #-}--happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn33 x = unsafeCoerce# x--{-# INLINE happyIn33 #-}--happyOut33 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut33 x = unsafeCoerce# x--{-# INLINE happyOut33 #-}--happyIn34 :: (CDecl) -> (HappyAbsSyn)-happyIn34 x = unsafeCoerce# x--{-# INLINE happyIn34 #-}--happyOut34 :: (HappyAbsSyn) -> (CDecl)-happyOut34 x = unsafeCoerce# x--{-# INLINE happyOut34 #-}--happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn)-happyIn35 x = unsafeCoerce# x--{-# INLINE happyIn35 #-}--happyOut35 :: (HappyAbsSyn) -> ((Maybe CStrLit, [CAttr]))-happyOut35 x = unsafeCoerce# x--{-# INLINE happyOut35 #-}--happyIn36 :: (CDecl) -> (HappyAbsSyn)-happyIn36 x = unsafeCoerce# x--{-# INLINE happyIn36 #-}--happyOut36 :: (HappyAbsSyn) -> (CDecl)-happyOut36 x = unsafeCoerce# x--{-# INLINE happyOut36 #-}--happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn)-happyIn37 x = unsafeCoerce# x--{-# INLINE happyIn37 #-}--happyOut37 :: (HappyAbsSyn) -> ([CDeclSpec])-happyOut37 x = unsafeCoerce# x--{-# INLINE happyOut37 #-}--happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn38 x = unsafeCoerce# x--{-# INLINE happyIn38 #-}--happyOut38 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut38 x = unsafeCoerce# x--{-# INLINE happyOut38 #-}--happyIn39 :: (CDeclSpec) -> (HappyAbsSyn)-happyIn39 x = unsafeCoerce# x--{-# INLINE happyIn39 #-}--happyOut39 :: (HappyAbsSyn) -> (CDeclSpec)-happyOut39 x = unsafeCoerce# x--{-# INLINE happyOut39 #-}--happyIn40 :: (CStorageSpec) -> (HappyAbsSyn)-happyIn40 x = unsafeCoerce# x--{-# INLINE happyIn40 #-}--happyOut40 :: (HappyAbsSyn) -> (CStorageSpec)-happyOut40 x = unsafeCoerce# x--{-# INLINE happyOut40 #-}--happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn)-happyIn41 x = unsafeCoerce# x--{-# INLINE happyIn41 #-}--happyOut41 :: (HappyAbsSyn) -> ([CDeclSpec])-happyOut41 x = unsafeCoerce# x--{-# INLINE happyOut41 #-}--happyIn42 :: (CTypeSpec) -> (HappyAbsSyn)-happyIn42 x = unsafeCoerce# x--{-# INLINE happyIn42 #-}--happyOut42 :: (HappyAbsSyn) -> (CTypeSpec)-happyOut42 x = unsafeCoerce# x--{-# INLINE happyOut42 #-}--happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn43 x = unsafeCoerce# x--{-# INLINE happyIn43 #-}--happyOut43 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut43 x = unsafeCoerce# x--{-# INLINE happyOut43 #-}--happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn44 x = unsafeCoerce# x--{-# INLINE happyIn44 #-}--happyOut44 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut44 x = unsafeCoerce# x--{-# INLINE happyOut44 #-}--happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn45 x = unsafeCoerce# x--{-# INLINE happyIn45 #-}--happyOut45 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut45 x = unsafeCoerce# x--{-# INLINE happyOut45 #-}--happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn46 x = unsafeCoerce# x--{-# INLINE happyIn46 #-}--happyOut46 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut46 x = unsafeCoerce# x--{-# INLINE happyOut46 #-}--happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn47 x = unsafeCoerce# x--{-# INLINE happyIn47 #-}--happyOut47 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut47 x = unsafeCoerce# x--{-# INLINE happyOut47 #-}--happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)-happyIn48 x = unsafeCoerce# x--{-# INLINE happyIn48 #-}--happyOut48 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])-happyOut48 x = unsafeCoerce# x--{-# INLINE happyOut48 #-}--happyIn49 :: (CTypeSpec) -> (HappyAbsSyn)-happyIn49 x = unsafeCoerce# x--{-# INLINE happyIn49 #-}--happyOut49 :: (HappyAbsSyn) -> (CTypeSpec)-happyOut49 x = unsafeCoerce# x--{-# INLINE happyOut49 #-}--happyIn50 :: (CStructUnion) -> (HappyAbsSyn)-happyIn50 x = unsafeCoerce# x--{-# INLINE happyIn50 #-}--happyOut50 :: (HappyAbsSyn) -> (CStructUnion)-happyOut50 x = unsafeCoerce# x--{-# INLINE happyOut50 #-}--happyIn51 :: (Located CStructTag) -> (HappyAbsSyn)-happyIn51 x = unsafeCoerce# x--{-# INLINE happyIn51 #-}--happyOut51 :: (HappyAbsSyn) -> (Located CStructTag)-happyOut51 x = unsafeCoerce# x--{-# INLINE happyOut51 #-}--happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn52 x = unsafeCoerce# x--{-# INLINE happyIn52 #-}--happyOut52 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut52 x = unsafeCoerce# x--{-# INLINE happyOut52 #-}--happyIn53 :: (CDecl) -> (HappyAbsSyn)-happyIn53 x = unsafeCoerce# x--{-# INLINE happyIn53 #-}--happyOut53 :: (HappyAbsSyn) -> (CDecl)-happyOut53 x = unsafeCoerce# x--{-# INLINE happyOut53 #-}--happyIn54 :: (CDecl) -> (HappyAbsSyn)-happyIn54 x = unsafeCoerce# x--{-# INLINE happyIn54 #-}--happyOut54 :: (HappyAbsSyn) -> (CDecl)-happyOut54 x = unsafeCoerce# x--{-# INLINE happyOut54 #-}--happyIn55 :: (CDecl) -> (HappyAbsSyn)-happyIn55 x = unsafeCoerce# x--{-# INLINE happyIn55 #-}--happyOut55 :: (HappyAbsSyn) -> (CDecl)-happyOut55 x = unsafeCoerce# x--{-# INLINE happyOut55 #-}--happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)-happyIn56 x = unsafeCoerce# x--{-# INLINE happyIn56 #-}--happyOut56 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))-happyOut56 x = unsafeCoerce# x--{-# INLINE happyOut56 #-}--happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)-happyIn57 x = unsafeCoerce# x--{-# INLINE happyIn57 #-}--happyOut57 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))-happyOut57 x = unsafeCoerce# x--{-# INLINE happyOut57 #-}--happyIn58 :: (CEnum) -> (HappyAbsSyn)-happyIn58 x = unsafeCoerce# x--{-# INLINE happyIn58 #-}--happyOut58 :: (HappyAbsSyn) -> (CEnum)-happyOut58 x = unsafeCoerce# x--{-# INLINE happyOut58 #-}--happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn)-happyIn59 x = unsafeCoerce# x--{-# INLINE happyIn59 #-}--happyOut59 :: (HappyAbsSyn) -> (Reversed [(Ident, Maybe CExpr)])-happyOut59 x = unsafeCoerce# x--{-# INLINE happyOut59 #-}--happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn)-happyIn60 x = unsafeCoerce# x--{-# INLINE happyIn60 #-}--happyOut60 :: (HappyAbsSyn) -> ((Ident, Maybe CExpr))-happyOut60 x = unsafeCoerce# x--{-# INLINE happyOut60 #-}--happyIn61 :: (CTypeQual) -> (HappyAbsSyn)-happyIn61 x = unsafeCoerce# x--{-# INLINE happyIn61 #-}--happyOut61 :: (HappyAbsSyn) -> (CTypeQual)-happyOut61 x = unsafeCoerce# x--{-# INLINE happyOut61 #-}--happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn)-happyIn62 x = unsafeCoerce# x--{-# INLINE happyIn62 #-}--happyOut62 :: (HappyAbsSyn) -> (Reversed [CTypeQual])-happyOut62 x = unsafeCoerce# x--{-# INLINE happyOut62 #-}--happyIn63 :: (CDeclrR) -> (HappyAbsSyn)-happyIn63 x = unsafeCoerce# x--{-# INLINE happyIn63 #-}--happyOut63 :: (HappyAbsSyn) -> (CDeclrR)-happyOut63 x = unsafeCoerce# x--{-# INLINE happyOut63 #-}--happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn)-happyIn64 x = unsafeCoerce# x--{-# INLINE happyIn64 #-}--happyOut64 :: (HappyAbsSyn) -> (Maybe CStrLit)-happyOut64 x = unsafeCoerce# x--{-# INLINE happyOut64 #-}--happyIn65 :: (CDeclrR) -> (HappyAbsSyn)-happyIn65 x = unsafeCoerce# x--{-# INLINE happyIn65 #-}--happyOut65 :: (HappyAbsSyn) -> (CDeclrR)-happyOut65 x = unsafeCoerce# x--{-# INLINE happyOut65 #-}--happyIn66 :: (CDeclrR) -> (HappyAbsSyn)-happyIn66 x = unsafeCoerce# x--{-# INLINE happyIn66 #-}--happyOut66 :: (HappyAbsSyn) -> (CDeclrR)-happyOut66 x = unsafeCoerce# x--{-# INLINE happyOut66 #-}--happyIn67 :: (CDeclrR) -> (HappyAbsSyn)-happyIn67 x = unsafeCoerce# x--{-# INLINE happyIn67 #-}--happyOut67 :: (HappyAbsSyn) -> (CDeclrR)-happyOut67 x = unsafeCoerce# x--{-# INLINE happyOut67 #-}--happyIn68 :: (CDeclrR) -> (HappyAbsSyn)-happyIn68 x = unsafeCoerce# x--{-# INLINE happyIn68 #-}--happyOut68 :: (HappyAbsSyn) -> (CDeclrR)-happyOut68 x = unsafeCoerce# x--{-# INLINE happyOut68 #-}--happyIn69 :: (CDeclrR) -> (HappyAbsSyn)-happyIn69 x = unsafeCoerce# x--{-# INLINE happyIn69 #-}--happyOut69 :: (HappyAbsSyn) -> (CDeclrR)-happyOut69 x = unsafeCoerce# x--{-# INLINE happyOut69 #-}--happyIn70 :: (CDeclrR) -> (HappyAbsSyn)-happyIn70 x = unsafeCoerce# x--{-# INLINE happyIn70 #-}--happyOut70 :: (HappyAbsSyn) -> (CDeclrR)-happyOut70 x = unsafeCoerce# x--{-# INLINE happyOut70 #-}--happyIn71 :: (CDeclrR) -> (HappyAbsSyn)-happyIn71 x = unsafeCoerce# x--{-# INLINE happyIn71 #-}--happyOut71 :: (HappyAbsSyn) -> (CDeclrR)-happyOut71 x = unsafeCoerce# x--{-# INLINE happyOut71 #-}--happyIn72 :: (CDeclrR) -> (HappyAbsSyn)-happyIn72 x = unsafeCoerce# x--{-# INLINE happyIn72 #-}--happyOut72 :: (HappyAbsSyn) -> (CDeclrR)-happyOut72 x = unsafeCoerce# x--{-# INLINE happyOut72 #-}--happyIn73 :: (CDeclrR) -> (HappyAbsSyn)-happyIn73 x = unsafeCoerce# x--{-# INLINE happyIn73 #-}--happyOut73 :: (HappyAbsSyn) -> (CDeclrR)-happyOut73 x = unsafeCoerce# x--{-# INLINE happyOut73 #-}--happyIn74 :: (CDeclrR) -> (HappyAbsSyn)-happyIn74 x = unsafeCoerce# x--{-# INLINE happyIn74 #-}--happyOut74 :: (HappyAbsSyn) -> (CDeclrR)-happyOut74 x = unsafeCoerce# x--{-# INLINE happyOut74 #-}--happyIn75 :: (CDeclrR) -> (HappyAbsSyn)-happyIn75 x = unsafeCoerce# x--{-# INLINE happyIn75 #-}--happyOut75 :: (HappyAbsSyn) -> (CDeclrR)-happyOut75 x = unsafeCoerce# x--{-# INLINE happyOut75 #-}--happyIn76 :: (CDeclr) -> (HappyAbsSyn)-happyIn76 x = unsafeCoerce# x--{-# INLINE happyIn76 #-}--happyOut76 :: (HappyAbsSyn) -> (CDeclr)-happyOut76 x = unsafeCoerce# x--{-# INLINE happyOut76 #-}--happyIn77 :: (CDeclrR) -> (HappyAbsSyn)-happyIn77 x = unsafeCoerce# x--{-# INLINE happyIn77 #-}--happyOut77 :: (HappyAbsSyn) -> (CDeclrR)-happyOut77 x = unsafeCoerce# x--{-# INLINE happyOut77 #-}--happyIn78 :: (CDeclrR) -> (HappyAbsSyn)-happyIn78 x = unsafeCoerce# x--{-# INLINE happyIn78 #-}--happyOut78 :: (HappyAbsSyn) -> (CDeclrR)-happyOut78 x = unsafeCoerce# x--{-# INLINE happyOut78 #-}--happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn)-happyIn79 x = unsafeCoerce# x--{-# INLINE happyIn79 #-}--happyOut79 :: (HappyAbsSyn) -> (([CDecl], Bool))-happyOut79 x = unsafeCoerce# x--{-# INLINE happyOut79 #-}--happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn)-happyIn80 x = unsafeCoerce# x--{-# INLINE happyIn80 #-}--happyOut80 :: (HappyAbsSyn) -> (Reversed [CDecl])-happyOut80 x = unsafeCoerce# x--{-# INLINE happyOut80 #-}--happyIn81 :: (CDecl) -> (HappyAbsSyn)-happyIn81 x = unsafeCoerce# x--{-# INLINE happyIn81 #-}--happyOut81 :: (HappyAbsSyn) -> (CDecl)-happyOut81 x = unsafeCoerce# x--{-# INLINE happyOut81 #-}--happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn)-happyIn82 x = unsafeCoerce# x--{-# INLINE happyIn82 #-}--happyOut82 :: (HappyAbsSyn) -> (Reversed [Ident])-happyOut82 x = unsafeCoerce# x--{-# INLINE happyOut82 #-}--happyIn83 :: (CDecl) -> (HappyAbsSyn)-happyIn83 x = unsafeCoerce# x--{-# INLINE happyIn83 #-}--happyOut83 :: (HappyAbsSyn) -> (CDecl)-happyOut83 x = unsafeCoerce# x--{-# INLINE happyOut83 #-}--happyIn84 :: (CDeclrR) -> (HappyAbsSyn)-happyIn84 x = unsafeCoerce# x--{-# INLINE happyIn84 #-}--happyOut84 :: (HappyAbsSyn) -> (CDeclrR)-happyOut84 x = unsafeCoerce# x--{-# INLINE happyOut84 #-}--happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn85 x = unsafeCoerce# x--{-# INLINE happyIn85 #-}--happyOut85 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut85 x = unsafeCoerce# x--{-# INLINE happyOut85 #-}--happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn86 x = unsafeCoerce# x--{-# INLINE happyIn86 #-}--happyOut86 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut86 x = unsafeCoerce# x--{-# INLINE happyOut86 #-}--happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)-happyIn87 x = unsafeCoerce# x--{-# INLINE happyIn87 #-}--happyOut87 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)-happyOut87 x = unsafeCoerce# x--{-# INLINE happyOut87 #-}--happyIn88 :: (CDeclrR) -> (HappyAbsSyn)-happyIn88 x = unsafeCoerce# x--{-# INLINE happyIn88 #-}--happyOut88 :: (HappyAbsSyn) -> (CDeclrR)-happyOut88 x = unsafeCoerce# x--{-# INLINE happyOut88 #-}--happyIn89 :: (CDeclrR) -> (HappyAbsSyn)-happyIn89 x = unsafeCoerce# x--{-# INLINE happyIn89 #-}--happyOut89 :: (HappyAbsSyn) -> (CDeclrR)-happyOut89 x = unsafeCoerce# x--{-# INLINE happyOut89 #-}--happyIn90 :: (CInit) -> (HappyAbsSyn)-happyIn90 x = unsafeCoerce# x--{-# INLINE happyIn90 #-}--happyOut90 :: (HappyAbsSyn) -> (CInit)-happyOut90 x = unsafeCoerce# x--{-# INLINE happyOut90 #-}--happyIn91 :: (Maybe CInit) -> (HappyAbsSyn)-happyIn91 x = unsafeCoerce# x--{-# INLINE happyIn91 #-}--happyOut91 :: (HappyAbsSyn) -> (Maybe CInit)-happyOut91 x = unsafeCoerce# x--{-# INLINE happyOut91 #-}--happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn)-happyIn92 x = unsafeCoerce# x--{-# INLINE happyIn92 #-}--happyOut92 :: (HappyAbsSyn) -> (Reversed CInitList)-happyOut92 x = unsafeCoerce# x--{-# INLINE happyOut92 #-}--happyIn93 :: ([CDesignator]) -> (HappyAbsSyn)-happyIn93 x = unsafeCoerce# x--{-# INLINE happyIn93 #-}--happyOut93 :: (HappyAbsSyn) -> ([CDesignator])-happyOut93 x = unsafeCoerce# x--{-# INLINE happyOut93 #-}--happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn)-happyIn94 x = unsafeCoerce# x--{-# INLINE happyIn94 #-}--happyOut94 :: (HappyAbsSyn) -> (Reversed [CDesignator])-happyOut94 x = unsafeCoerce# x--{-# INLINE happyOut94 #-}--happyIn95 :: (CDesignator) -> (HappyAbsSyn)-happyIn95 x = unsafeCoerce# x--{-# INLINE happyIn95 #-}--happyOut95 :: (HappyAbsSyn) -> (CDesignator)-happyOut95 x = unsafeCoerce# x--{-# INLINE happyOut95 #-}--happyIn96 :: (CDesignator) -> (HappyAbsSyn)-happyIn96 x = unsafeCoerce# x--{-# INLINE happyIn96 #-}--happyOut96 :: (HappyAbsSyn) -> (CDesignator)-happyOut96 x = unsafeCoerce# x--{-# INLINE happyOut96 #-}--happyIn97 :: (CExpr) -> (HappyAbsSyn)-happyIn97 x = unsafeCoerce# x--{-# INLINE happyIn97 #-}--happyOut97 :: (HappyAbsSyn) -> (CExpr)-happyOut97 x = unsafeCoerce# x--{-# INLINE happyOut97 #-}--happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn)-happyIn98 x = unsafeCoerce# x--{-# INLINE happyIn98 #-}--happyOut98 :: (HappyAbsSyn) -> (Reversed [CDesignator])-happyOut98 x = unsafeCoerce# x--{-# INLINE happyOut98 #-}--happyIn99 :: (CExpr) -> (HappyAbsSyn)-happyIn99 x = unsafeCoerce# x--{-# INLINE happyIn99 #-}--happyOut99 :: (HappyAbsSyn) -> (CExpr)-happyOut99 x = unsafeCoerce# x--{-# INLINE happyOut99 #-}--happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn100 x = unsafeCoerce# x--{-# INLINE happyIn100 #-}--happyOut100 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut100 x = unsafeCoerce# x--{-# INLINE happyOut100 #-}--happyIn101 :: (CExpr) -> (HappyAbsSyn)-happyIn101 x = unsafeCoerce# x--{-# INLINE happyIn101 #-}--happyOut101 :: (HappyAbsSyn) -> (CExpr)-happyOut101 x = unsafeCoerce# x--{-# INLINE happyOut101 #-}--happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn)-happyIn102 x = unsafeCoerce# x--{-# INLINE happyIn102 #-}--happyOut102 :: (HappyAbsSyn) -> (Located CUnaryOp)-happyOut102 x = unsafeCoerce# x--{-# INLINE happyOut102 #-}--happyIn103 :: (CExpr) -> (HappyAbsSyn)-happyIn103 x = unsafeCoerce# x--{-# INLINE happyIn103 #-}--happyOut103 :: (HappyAbsSyn) -> (CExpr)-happyOut103 x = unsafeCoerce# x--{-# INLINE happyOut103 #-}--happyIn104 :: (CExpr) -> (HappyAbsSyn)-happyIn104 x = unsafeCoerce# x--{-# INLINE happyIn104 #-}--happyOut104 :: (HappyAbsSyn) -> (CExpr)-happyOut104 x = unsafeCoerce# x--{-# INLINE happyOut104 #-}--happyIn105 :: (CExpr) -> (HappyAbsSyn)-happyIn105 x = unsafeCoerce# x--{-# INLINE happyIn105 #-}--happyOut105 :: (HappyAbsSyn) -> (CExpr)-happyOut105 x = unsafeCoerce# x--{-# INLINE happyOut105 #-}--happyIn106 :: (CExpr) -> (HappyAbsSyn)-happyIn106 x = unsafeCoerce# x--{-# INLINE happyIn106 #-}--happyOut106 :: (HappyAbsSyn) -> (CExpr)-happyOut106 x = unsafeCoerce# x--{-# INLINE happyOut106 #-}--happyIn107 :: (CExpr) -> (HappyAbsSyn)-happyIn107 x = unsafeCoerce# x--{-# INLINE happyIn107 #-}--happyOut107 :: (HappyAbsSyn) -> (CExpr)-happyOut107 x = unsafeCoerce# x--{-# INLINE happyOut107 #-}--happyIn108 :: (CExpr) -> (HappyAbsSyn)-happyIn108 x = unsafeCoerce# x--{-# INLINE happyIn108 #-}--happyOut108 :: (HappyAbsSyn) -> (CExpr)-happyOut108 x = unsafeCoerce# x--{-# INLINE happyOut108 #-}--happyIn109 :: (CExpr) -> (HappyAbsSyn)-happyIn109 x = unsafeCoerce# x--{-# INLINE happyIn109 #-}--happyOut109 :: (HappyAbsSyn) -> (CExpr)-happyOut109 x = unsafeCoerce# x--{-# INLINE happyOut109 #-}--happyIn110 :: (CExpr) -> (HappyAbsSyn)-happyIn110 x = unsafeCoerce# x--{-# INLINE happyIn110 #-}--happyOut110 :: (HappyAbsSyn) -> (CExpr)-happyOut110 x = unsafeCoerce# x--{-# INLINE happyOut110 #-}--happyIn111 :: (CExpr) -> (HappyAbsSyn)-happyIn111 x = unsafeCoerce# x--{-# INLINE happyIn111 #-}--happyOut111 :: (HappyAbsSyn) -> (CExpr)-happyOut111 x = unsafeCoerce# x--{-# INLINE happyOut111 #-}--happyIn112 :: (CExpr) -> (HappyAbsSyn)-happyIn112 x = unsafeCoerce# x--{-# INLINE happyIn112 #-}--happyOut112 :: (HappyAbsSyn) -> (CExpr)-happyOut112 x = unsafeCoerce# x--{-# INLINE happyOut112 #-}--happyIn113 :: (CExpr) -> (HappyAbsSyn)-happyIn113 x = unsafeCoerce# x--{-# INLINE happyIn113 #-}--happyOut113 :: (HappyAbsSyn) -> (CExpr)-happyOut113 x = unsafeCoerce# x--{-# INLINE happyOut113 #-}--happyIn114 :: (CExpr) -> (HappyAbsSyn)-happyIn114 x = unsafeCoerce# x--{-# INLINE happyIn114 #-}--happyOut114 :: (HappyAbsSyn) -> (CExpr)-happyOut114 x = unsafeCoerce# x--{-# INLINE happyOut114 #-}--happyIn115 :: (CExpr) -> (HappyAbsSyn)-happyIn115 x = unsafeCoerce# x--{-# INLINE happyIn115 #-}--happyOut115 :: (HappyAbsSyn) -> (CExpr)-happyOut115 x = unsafeCoerce# x--{-# INLINE happyOut115 #-}--happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn)-happyIn116 x = unsafeCoerce# x--{-# INLINE happyIn116 #-}--happyOut116 :: (HappyAbsSyn) -> (Located CAssignOp)-happyOut116 x = unsafeCoerce# x--{-# INLINE happyOut116 #-}--happyIn117 :: (CExpr) -> (HappyAbsSyn)-happyIn117 x = unsafeCoerce# x--{-# INLINE happyIn117 #-}--happyOut117 :: (HappyAbsSyn) -> (CExpr)-happyOut117 x = unsafeCoerce# x--{-# INLINE happyOut117 #-}--happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn118 x = unsafeCoerce# x--{-# INLINE happyIn118 #-}--happyOut118 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut118 x = unsafeCoerce# x--{-# INLINE happyOut118 #-}--happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn)-happyIn119 x = unsafeCoerce# x--{-# INLINE happyIn119 #-}--happyOut119 :: (HappyAbsSyn) -> (Maybe CExpr)-happyOut119 x = unsafeCoerce# x--{-# INLINE happyOut119 #-}--happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn)-happyIn120 x = unsafeCoerce# x--{-# INLINE happyIn120 #-}--happyOut120 :: (HappyAbsSyn) -> (Maybe CExpr)-happyOut120 x = unsafeCoerce# x--{-# INLINE happyOut120 #-}--happyIn121 :: (CExpr) -> (HappyAbsSyn)-happyIn121 x = unsafeCoerce# x--{-# INLINE happyIn121 #-}--happyOut121 :: (HappyAbsSyn) -> (CExpr)-happyOut121 x = unsafeCoerce# x--{-# INLINE happyOut121 #-}--happyIn122 :: (CConst) -> (HappyAbsSyn)-happyIn122 x = unsafeCoerce# x--{-# INLINE happyIn122 #-}--happyOut122 :: (HappyAbsSyn) -> (CConst)-happyOut122 x = unsafeCoerce# x--{-# INLINE happyOut122 #-}--happyIn123 :: (CStrLit) -> (HappyAbsSyn)-happyIn123 x = unsafeCoerce# x--{-# INLINE happyIn123 #-}--happyOut123 :: (HappyAbsSyn) -> (CStrLit)-happyOut123 x = unsafeCoerce# x--{-# INLINE happyOut123 #-}--happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn)-happyIn124 x = unsafeCoerce# x--{-# INLINE happyIn124 #-}--happyOut124 :: (HappyAbsSyn) -> (Reversed [CString])-happyOut124 x = unsafeCoerce# x--{-# INLINE happyOut124 #-}--happyIn125 :: (Ident) -> (HappyAbsSyn)-happyIn125 x = unsafeCoerce# x--{-# INLINE happyIn125 #-}--happyOut125 :: (HappyAbsSyn) -> (Ident)-happyOut125 x = unsafeCoerce# x--{-# INLINE happyOut125 #-}--happyIn126 :: ([CAttr]) -> (HappyAbsSyn)-happyIn126 x = unsafeCoerce# x--{-# INLINE happyIn126 #-}--happyOut126 :: (HappyAbsSyn) -> ([CAttr])-happyOut126 x = unsafeCoerce# x--{-# INLINE happyOut126 #-}--happyIn127 :: ([CAttr]) -> (HappyAbsSyn)-happyIn127 x = unsafeCoerce# x--{-# INLINE happyIn127 #-}--happyOut127 :: (HappyAbsSyn) -> ([CAttr])-happyOut127 x = unsafeCoerce# x--{-# INLINE happyOut127 #-}--happyIn128 :: ([CAttr]) -> (HappyAbsSyn)-happyIn128 x = unsafeCoerce# x--{-# INLINE happyIn128 #-}--happyOut128 :: (HappyAbsSyn) -> ([CAttr])-happyOut128 x = unsafeCoerce# x--{-# INLINE happyOut128 #-}--happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn)-happyIn129 x = unsafeCoerce# x--{-# INLINE happyIn129 #-}--happyOut129 :: (HappyAbsSyn) -> (Reversed [CAttr])-happyOut129 x = unsafeCoerce# x--{-# INLINE happyOut129 #-}--happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn)-happyIn130 x = unsafeCoerce# x--{-# INLINE happyIn130 #-}--happyOut130 :: (HappyAbsSyn) -> (Maybe CAttr)-happyOut130 x = unsafeCoerce# x--{-# INLINE happyOut130 #-}--happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn)-happyIn131 x = unsafeCoerce# x--{-# INLINE happyIn131 #-}--happyOut131 :: (HappyAbsSyn) -> (Reversed [CExpr])-happyOut131 x = unsafeCoerce# x--{-# INLINE happyOut131 #-}--happyInTok :: CToken -> (HappyAbsSyn)-happyInTok x = unsafeCoerce# x--{-# INLINE happyInTok #-}--happyOutTok :: (HappyAbsSyn) -> CToken-happyOutTok x = unsafeCoerce# x--{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets- = HappyA#- "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets- = HappyA#- "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#--happyDefActions :: HappyAddr-happyDefActions- = HappyA#- "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255"#--happyCheck :: HappyAddr-happyCheck- = HappyA#- "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"#--happyTable :: HappyAddr-happyTable- = HappyA#- "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#-happyReduceArr- = array (4, 463)- [(4, happyReduce_4), (5, happyReduce_5), (6, happyReduce_6),- (7, happyReduce_7), (8, happyReduce_8), (9, happyReduce_9),- (10, happyReduce_10), (11, happyReduce_11), (12, happyReduce_12),- (13, happyReduce_13), (14, happyReduce_14), (15, happyReduce_15),- (16, happyReduce_16), (17, happyReduce_17), (18, happyReduce_18),- (19, happyReduce_19), (20, happyReduce_20), (21, happyReduce_21),- (22, happyReduce_22), (23, happyReduce_23), (24, happyReduce_24),- (25, happyReduce_25), (26, happyReduce_26), (27, happyReduce_27),- (28, happyReduce_28), (29, happyReduce_29), (30, happyReduce_30),- (31, happyReduce_31), (32, happyReduce_32), (33, happyReduce_33),- (34, happyReduce_34), (35, happyReduce_35), (36, happyReduce_36),- (37, happyReduce_37), (38, happyReduce_38), (39, happyReduce_39),- (40, happyReduce_40), (41, happyReduce_41), (42, happyReduce_42),- (43, happyReduce_43), (44, happyReduce_44), (45, happyReduce_45),- (46, happyReduce_46), (47, happyReduce_47), (48, happyReduce_48),- (49, happyReduce_49), (50, happyReduce_50), (51, happyReduce_51),- (52, happyReduce_52), (53, happyReduce_53), (54, happyReduce_54),- (55, happyReduce_55), (56, happyReduce_56), (57, happyReduce_57),- (58, happyReduce_58), (59, happyReduce_59), (60, happyReduce_60),- (61, happyReduce_61), (62, happyReduce_62), (63, happyReduce_63),- (64, happyReduce_64), (65, happyReduce_65), (66, happyReduce_66),- (67, happyReduce_67), (68, happyReduce_68), (69, happyReduce_69),- (70, happyReduce_70), (71, happyReduce_71), (72, happyReduce_72),- (73, happyReduce_73), (74, happyReduce_74), (75, happyReduce_75),- (76, happyReduce_76), (77, happyReduce_77), (78, happyReduce_78),- (79, happyReduce_79), (80, happyReduce_80), (81, happyReduce_81),- (82, happyReduce_82), (83, happyReduce_83), (84, happyReduce_84),- (85, happyReduce_85), (86, happyReduce_86), (87, happyReduce_87),- (88, happyReduce_88), (89, happyReduce_89), (90, happyReduce_90),- (91, happyReduce_91), (92, happyReduce_92), (93, happyReduce_93),- (94, happyReduce_94), (95, happyReduce_95), (96, happyReduce_96),- (97, happyReduce_97), (98, happyReduce_98), (99, happyReduce_99),- (100, happyReduce_100), (101, happyReduce_101),- (102, happyReduce_102), (103, happyReduce_103),- (104, happyReduce_104), (105, happyReduce_105),- (106, happyReduce_106), (107, happyReduce_107),- (108, happyReduce_108), (109, happyReduce_109),- (110, happyReduce_110), (111, happyReduce_111),- (112, happyReduce_112), (113, happyReduce_113),- (114, happyReduce_114), (115, happyReduce_115),- (116, happyReduce_116), (117, happyReduce_117),- (118, happyReduce_118), (119, happyReduce_119),- (120, happyReduce_120), (121, happyReduce_121),- (122, happyReduce_122), (123, happyReduce_123),- (124, happyReduce_124), (125, happyReduce_125),- (126, happyReduce_126), (127, happyReduce_127),- (128, happyReduce_128), (129, happyReduce_129),- (130, happyReduce_130), (131, happyReduce_131),- (132, happyReduce_132), (133, happyReduce_133),- (134, happyReduce_134), (135, happyReduce_135),- (136, happyReduce_136), (137, happyReduce_137),- (138, happyReduce_138), (139, happyReduce_139),- (140, happyReduce_140), (141, happyReduce_141),- (142, happyReduce_142), (143, happyReduce_143),- (144, happyReduce_144), (145, happyReduce_145),- (146, happyReduce_146), (147, happyReduce_147),- (148, happyReduce_148), (149, happyReduce_149),- (150, happyReduce_150), (151, happyReduce_151),- (152, happyReduce_152), (153, happyReduce_153),- (154, happyReduce_154), (155, happyReduce_155),- (156, happyReduce_156), (157, happyReduce_157),- (158, happyReduce_158), (159, happyReduce_159),- (160, happyReduce_160), (161, happyReduce_161),- (162, happyReduce_162), (163, happyReduce_163),- (164, happyReduce_164), (165, happyReduce_165),- (166, happyReduce_166), (167, happyReduce_167),- (168, happyReduce_168), (169, happyReduce_169),- (170, happyReduce_170), (171, happyReduce_171),- (172, happyReduce_172), (173, happyReduce_173),- (174, happyReduce_174), (175, happyReduce_175),- (176, happyReduce_176), (177, happyReduce_177),- (178, happyReduce_178), (179, happyReduce_179),- (180, happyReduce_180), (181, happyReduce_181),- (182, happyReduce_182), (183, happyReduce_183),- (184, happyReduce_184), (185, happyReduce_185),- (186, happyReduce_186), (187, happyReduce_187),- (188, happyReduce_188), (189, happyReduce_189),- (190, happyReduce_190), (191, happyReduce_191),- (192, happyReduce_192), (193, happyReduce_193),- (194, happyReduce_194), (195, happyReduce_195),- (196, happyReduce_196), (197, happyReduce_197),- (198, happyReduce_198), (199, happyReduce_199),- (200, happyReduce_200), (201, happyReduce_201),- (202, happyReduce_202), (203, happyReduce_203),- (204, happyReduce_204), (205, happyReduce_205),- (206, happyReduce_206), (207, happyReduce_207),- (208, happyReduce_208), (209, happyReduce_209),- (210, happyReduce_210), (211, happyReduce_211),- (212, happyReduce_212), (213, happyReduce_213),- (214, happyReduce_214), (215, happyReduce_215),- (216, happyReduce_216), (217, happyReduce_217),- (218, happyReduce_218), (219, happyReduce_219),- (220, happyReduce_220), (221, happyReduce_221),- (222, happyReduce_222), (223, happyReduce_223),- (224, happyReduce_224), (225, happyReduce_225),- (226, happyReduce_226), (227, happyReduce_227),- (228, happyReduce_228), (229, happyReduce_229),- (230, happyReduce_230), (231, happyReduce_231),- (232, happyReduce_232), (233, happyReduce_233),- (234, happyReduce_234), (235, happyReduce_235),- (236, happyReduce_236), (237, happyReduce_237),- (238, happyReduce_238), (239, happyReduce_239),- (240, happyReduce_240), (241, happyReduce_241),- (242, happyReduce_242), (243, happyReduce_243),- (244, happyReduce_244), (245, happyReduce_245),- (246, happyReduce_246), (247, happyReduce_247),- (248, happyReduce_248), (249, happyReduce_249),- (250, happyReduce_250), (251, happyReduce_251),- (252, happyReduce_252), (253, happyReduce_253),- (254, happyReduce_254), (255, happyReduce_255),- (256, happyReduce_256), (257, happyReduce_257),- (258, happyReduce_258), (259, happyReduce_259),- (260, happyReduce_260), (261, happyReduce_261),- (262, happyReduce_262), (263, happyReduce_263),- (264, happyReduce_264), (265, happyReduce_265),- (266, happyReduce_266), (267, happyReduce_267),- (268, happyReduce_268), (269, happyReduce_269),- (270, happyReduce_270), (271, happyReduce_271),- (272, happyReduce_272), (273, happyReduce_273),- (274, happyReduce_274), (275, happyReduce_275),- (276, happyReduce_276), (277, happyReduce_277),- (278, happyReduce_278), (279, happyReduce_279),- (280, happyReduce_280), (281, happyReduce_281),- (282, happyReduce_282), (283, happyReduce_283),- (284, happyReduce_284), (285, happyReduce_285),- (286, happyReduce_286), (287, happyReduce_287),- (288, happyReduce_288), (289, happyReduce_289),- (290, happyReduce_290), (291, happyReduce_291),- (292, happyReduce_292), (293, happyReduce_293),- (294, happyReduce_294), (295, happyReduce_295),- (296, happyReduce_296), (297, happyReduce_297),- (298, happyReduce_298), (299, happyReduce_299),- (300, happyReduce_300), (301, happyReduce_301),- (302, happyReduce_302), (303, happyReduce_303),- (304, happyReduce_304), (305, happyReduce_305),- (306, happyReduce_306), (307, happyReduce_307),- (308, happyReduce_308), (309, happyReduce_309),- (310, happyReduce_310), (311, happyReduce_311),- (312, happyReduce_312), (313, happyReduce_313),- (314, happyReduce_314), (315, happyReduce_315),- (316, happyReduce_316), (317, happyReduce_317),- (318, happyReduce_318), (319, happyReduce_319),- (320, happyReduce_320), (321, happyReduce_321),- (322, happyReduce_322), (323, happyReduce_323),- (324, happyReduce_324), (325, happyReduce_325),- (326, happyReduce_326), (327, happyReduce_327),- (328, happyReduce_328), (329, happyReduce_329),- (330, happyReduce_330), (331, happyReduce_331),- (332, happyReduce_332), (333, happyReduce_333),- (334, happyReduce_334), (335, happyReduce_335),- (336, happyReduce_336), (337, happyReduce_337),- (338, happyReduce_338), (339, happyReduce_339),- (340, happyReduce_340), (341, happyReduce_341),- (342, happyReduce_342), (343, happyReduce_343),- (344, happyReduce_344), (345, happyReduce_345),- (346, happyReduce_346), (347, happyReduce_347),- (348, happyReduce_348), (349, happyReduce_349),- (350, happyReduce_350), (351, happyReduce_351),- (352, happyReduce_352), (353, happyReduce_353),- (354, happyReduce_354), (355, happyReduce_355),- (356, happyReduce_356), (357, happyReduce_357),- (358, happyReduce_358), (359, happyReduce_359),- (360, happyReduce_360), (361, happyReduce_361),- (362, happyReduce_362), (363, happyReduce_363),- (364, happyReduce_364), (365, happyReduce_365),- (366, happyReduce_366), (367, happyReduce_367),- (368, happyReduce_368), (369, happyReduce_369),- (370, happyReduce_370), (371, happyReduce_371),- (372, happyReduce_372), (373, happyReduce_373),- (374, happyReduce_374), (375, happyReduce_375),- (376, happyReduce_376), (377, happyReduce_377),- (378, happyReduce_378), (379, happyReduce_379),- (380, happyReduce_380), (381, happyReduce_381),- (382, happyReduce_382), (383, happyReduce_383),- (384, happyReduce_384), (385, happyReduce_385),- (386, happyReduce_386), (387, happyReduce_387),- (388, happyReduce_388), (389, happyReduce_389),- (390, happyReduce_390), (391, happyReduce_391),- (392, happyReduce_392), (393, happyReduce_393),- (394, happyReduce_394), (395, happyReduce_395),- (396, happyReduce_396), (397, happyReduce_397),- (398, happyReduce_398), (399, happyReduce_399),- (400, happyReduce_400), (401, happyReduce_401),- (402, happyReduce_402), (403, happyReduce_403),- (404, happyReduce_404), (405, happyReduce_405),- (406, happyReduce_406), (407, happyReduce_407),- (408, happyReduce_408), (409, happyReduce_409),- (410, happyReduce_410), (411, happyReduce_411),- (412, happyReduce_412), (413, happyReduce_413),- (414, happyReduce_414), (415, happyReduce_415),- (416, happyReduce_416), (417, happyReduce_417),- (418, happyReduce_418), (419, happyReduce_419),- (420, happyReduce_420), (421, happyReduce_421),- (422, happyReduce_422), (423, happyReduce_423),- (424, happyReduce_424), (425, happyReduce_425),- (426, happyReduce_426), (427, happyReduce_427),- (428, happyReduce_428), (429, happyReduce_429),- (430, happyReduce_430), (431, happyReduce_431),- (432, happyReduce_432), (433, happyReduce_433),- (434, happyReduce_434), (435, happyReduce_435),- (436, happyReduce_436), (437, happyReduce_437),- (438, happyReduce_438), (439, happyReduce_439),- (440, happyReduce_440), (441, happyReduce_441),- (442, happyReduce_442), (443, happyReduce_443),- (444, happyReduce_444), (445, happyReduce_445),- (446, happyReduce_446), (447, happyReduce_447),- (448, happyReduce_448), (449, happyReduce_449),- (450, happyReduce_450), (451, happyReduce_451),- (452, happyReduce_452), (453, happyReduce_453),- (454, happyReduce_454), (455, happyReduce_455),- (456, happyReduce_456), (457, happyReduce_457),- (458, happyReduce_458), (459, happyReduce_459),- (460, happyReduce_460), (461, happyReduce_461),- (462, happyReduce_462), (463, happyReduce_463)]-happy_n_terms = 102 :: Int-happy_n_nonterms = 125 :: Int-happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4-happyReduction_4 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut8 happy_x_1 of- happy_var_1 -> (let decls = reverse happy_var_1 in- case decls of- [] -> do n <- getNewName- p <- getCurrentPosition- return $ CTranslUnit decls (mkNodeInfo' p (p, 0) n)- (d : ds) -> withNodeInfo d $ CTranslUnit decls))- (\ r -> happyReturn (happyIn7 r))-happyReduce_5 = happySpecReduce_0 1# happyReduction_5-happyReduction_5 = happyIn8 (empty)-happyReduce_6 = happySpecReduce_2 1# happyReduction_6-happyReduction_6 happy_x_2 happy_x_1- = case happyOut8 happy_x_1 of- happy_var_1 -> happyIn8 (happy_var_1)-happyReduce_7 = happySpecReduce_2 1# happyReduction_7-happyReduction_7 happy_x_2 happy_x_1- = case happyOut8 happy_x_1 of- happy_var_1 -> case happyOut9 happy_x_2 of- happy_var_2 -> happyIn8 (happy_var_1 `snoc` happy_var_2)-happyReduce_8 = happySpecReduce_1 2# happyReduction_8-happyReduction_8 happy_x_1- = case happyOut10 happy_x_1 of- happy_var_1 -> happyIn9 (CFDefExt happy_var_1)-happyReduce_9 = happySpecReduce_1 2# happyReduction_9-happyReduction_9 happy_x_1- = case happyOut32 happy_x_1 of- happy_var_1 -> happyIn9 (CDeclExt happy_var_1)-happyReduce_10 = happySpecReduce_2 2# happyReduction_10-happyReduction_10 happy_x_2 happy_x_1- = case happyOut9 happy_x_2 of- happy_var_2 -> happyIn9 (happy_var_2)-happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11-happyReduction_11- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut123 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $ CAsmExt happy_var_3))- (\ r -> happyReturn (happyIn9 r))-happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12-happyReduction_12- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut11 happy_x_1 of- happy_var_1 -> case happyOut14 happy_x_2 of- happy_var_2 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef [] happy_var_1 [] happy_var_2)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13-happyReduction_13- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef- (liftCAttrs happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14-happyReduction_14- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15-happyReduction_15- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16-happyReduction_16- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef (reverse happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17-happyReduction_17- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef- (liftTypeQuals happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18-happyReduction_18- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut11 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (leaveScope >>- (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- happy_var_3- []- happy_var_4)))- (\ r -> happyReturn (happyIn10 r))-happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19-happyReduction_19- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut76 happy_x_1 of- happy_var_1 -> case happyOut33 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CFunDef [] happy_var_1- (reverse happy_var_2)- happy_var_3))- (\ r -> happyReturn (happyIn10 r))-happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20-happyReduction_20- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_2- $- CFunDef- (liftCAttrs- happy_var_1)- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21-happyReduction_21- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- happy_var_1- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22-happyReduction_22- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- happy_var_1- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23-happyReduction_23- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- (reverse- happy_var_1)- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24-happyReduction_24- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut76 happy_x_2 of- happy_var_2 -> case happyOut33 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1)- happy_var_2- (reverse- happy_var_3)- happy_var_4))- (\ r -> happyReturn (happyIn10 r))-happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25-happyReduction_25- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut76 happy_x_3 of- happy_var_3 -> case happyOut33 happy_x_4 of- happy_var_4 -> case- happyOut14- happy_x_5- of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- happy_var_3- (reverse- happy_var_4)- happy_var_5))- (\ r -> happyReturn (happyIn10 r))-happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26-happyReduction_26 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut72 happy_x_1 of- happy_var_1 -> (let declr = reverseDeclr happy_var_1 in- enterScope >> doFuncParamDeclIdent declr >> return declr))- (\ r -> happyReturn (happyIn11 r))-happyReduce_27 = happySpecReduce_1 5# happyReduction_27-happyReduction_27 happy_x_1- = case happyOut13 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_28 = happySpecReduce_1 5# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut14 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_29 = happySpecReduce_1 5# happyReduction_29-happyReduction_29 happy_x_1- = case happyOut22 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_30 = happySpecReduce_1 5# happyReduction_30-happyReduction_30 happy_x_1- = case happyOut23 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_31 = happySpecReduce_1 5# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut24 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_32 = happySpecReduce_1 5# happyReduction_32-happyReduction_32 happy_x_1- = case happyOut25 happy_x_1 of- happy_var_1 -> happyIn12 (happy_var_1)-happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33-happyReduction_33 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut26 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 (CAsm happy_var_1)))- (\ r -> happyReturn (happyIn12 r))-happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34-happyReduction_34- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut125 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CLabel happy_var_1 happy_var_4- happy_var_3))- (\ r -> happyReturn (happyIn13 r))-happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35-happyReduction_35- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> case happyOut12 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCase happy_var_2 happy_var_4))- (\ r -> happyReturn (happyIn13 r))-happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36-happyReduction_36- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut12 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $ CDefault happy_var_3))- (\ r -> happyReturn (happyIn13 r))-happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37-happyReduction_37- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> case happyOut121 happy_x_4 of- happy_var_4 -> case happyOut12 happy_x_6 of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CCases- happy_var_2- happy_var_4- happy_var_6))- (\ r -> happyReturn (happyIn13 r))-happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38-happyReduction_38- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut17 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CCompound [] (reverse happy_var_3)))- (\ r -> happyReturn (happyIn14 r))-happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39-happyReduction_39- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut21 happy_x_3 of- happy_var_3 -> case happyOut17 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCompound (reverse happy_var_3)- (reverse happy_var_4)))- (\ r -> happyReturn (happyIn14 r))-happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40-happyReduction_40 (happyRest) tk- = happyThen ((enterScope)) (\ r -> happyReturn (happyIn15 r))-happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41-happyReduction_41 (happyRest) tk- = happyThen ((leaveScope)) (\ r -> happyReturn (happyIn16 r))-happyReduce_42 = happySpecReduce_0 10# happyReduction_42-happyReduction_42 = happyIn17 (empty)-happyReduce_43 = happySpecReduce_2 10# happyReduction_43-happyReduction_43 happy_x_2 happy_x_1- = case happyOut17 happy_x_1 of- happy_var_1 -> case happyOut18 happy_x_2 of- happy_var_2 -> happyIn17 (happy_var_1 `snoc` happy_var_2)-happyReduce_44 = happySpecReduce_1 11# happyReduction_44-happyReduction_44 happy_x_1- = case happyOut12 happy_x_1 of- happy_var_1 -> happyIn18 (CBlockStmt happy_var_1)-happyReduce_45 = happySpecReduce_1 11# happyReduction_45-happyReduction_45 happy_x_1- = case happyOut19 happy_x_1 of- happy_var_1 -> happyIn18 (happy_var_1)-happyReduce_46 = happySpecReduce_1 12# happyReduction_46-happyReduction_46 happy_x_1- = case happyOut32 happy_x_1 of- happy_var_1 -> happyIn19 (CBlockDecl happy_var_1)-happyReduce_47 = happySpecReduce_1 12# happyReduction_47-happyReduction_47 happy_x_1- = case happyOut20 happy_x_1 of- happy_var_1 -> happyIn19 (CNestedFunDef happy_var_1)-happyReduce_48 = happySpecReduce_2 12# happyReduction_48-happyReduction_48 happy_x_2 happy_x_1- = case happyOut19 happy_x_2 of- happy_var_2 -> happyIn19 (happy_var_2)-happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49-happyReduction_49- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50-happyReduction_50- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef happy_var_1- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51-happyReduction_51- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef (reverse happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52-happyReduction_52- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut11 happy_x_2 of- happy_var_2 -> case happyOut14 happy_x_3 of- happy_var_3 -> (leaveScope >>- (withNodeInfo happy_var_1 $- CFunDef- (liftTypeQuals happy_var_1)- happy_var_2- []- happy_var_3)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53-happyReduction_53- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut11 happy_x_3 of- happy_var_3 -> case happyOut14 happy_x_4 of- happy_var_4 -> (leaveScope >>- (withNodeInfo- happy_var_1- $- CFunDef- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- happy_var_3- []- happy_var_4)))- (\ r -> happyReturn (happyIn20 r))-happyReduce_54 = happySpecReduce_3 14# happyReduction_54-happyReduction_54 happy_x_3 happy_x_2 happy_x_1- = case happyOut82 happy_x_2 of- happy_var_2 -> happyIn21 (happy_var_2)-happyReduce_55 = happyReduce 4# 14# happyReduction_55-happyReduction_55- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut21 happy_x_1 of- happy_var_1 -> case happyOut82 happy_x_3 of- happy_var_3 -> happyIn21 (happy_var_1 `rappendr` happy_var_3)- `HappyStk` happyRest-happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56-happyReduction_56 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CExpr Nothing))- (\ r -> happyReturn (happyIn22 r))-happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57-happyReduction_57- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut117 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CExpr (Just happy_var_1)))- (\ r -> happyReturn (happyIn22 r))-happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58-happyReduction_58- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CIf happy_var_3 happy_var_5- Nothing))- (\ r -> happyReturn (happyIn23 r))-happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59-happyReduction_59- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> case happyOut12 happy_x_7 of- happy_var_7 -> (withNodeInfo- happy_var_1- $- CIf- happy_var_3- happy_var_5- (Just- happy_var_7)))- (\ r -> happyReturn (happyIn23 r))-happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60-happyReduction_60- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CSwitch happy_var_3 happy_var_5))- (\ r -> happyReturn (happyIn23 r))-happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61-happyReduction_61- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut12 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CWhile happy_var_3 happy_var_5- False))- (\ r -> happyReturn (happyIn24 r))-happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62-happyReduction_62- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut12 happy_x_2 of- happy_var_2 -> case happyOut117 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CWhile happy_var_5 happy_var_2- True))- (\ r -> happyReturn (happyIn24 r))-happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63-happyReduction_63- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut119 happy_x_3 of- happy_var_3 -> case happyOut119 happy_x_5 of- happy_var_5 -> case happyOut119 happy_x_7 of- happy_var_7 -> case- happyOut12- happy_x_9- of- happy_var_9 -> (withNodeInfo- happy_var_1- $- CFor- (Left- happy_var_3)- happy_var_5- happy_var_7- happy_var_9))- (\ r -> happyReturn (happyIn24 r))-happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64-happyReduction_64- (happy_x_10 `HappyStk`- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut32 happy_x_4 of- happy_var_4 -> case happyOut119 happy_x_5 of- happy_var_5 -> case happyOut119 happy_x_7 of- happy_var_7 -> case- happyOut12- happy_x_9- of- happy_var_9 -> (withNodeInfo- happy_var_1- $- CFor- (Right- happy_var_4)- happy_var_5- happy_var_7- happy_var_9))- (\ r -> happyReturn (happyIn24 r))-happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65-happyReduction_65- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CGoto happy_var_2))- (\ r -> happyReturn (happyIn25 r))-happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66-happyReduction_66- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $ CGotoPtr happy_var_3))- (\ r -> happyReturn (happyIn25 r))-happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67-happyReduction_67- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CCont))- (\ r -> happyReturn (happyIn25 r))-happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68-happyReduction_68- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CBreak))- (\ r -> happyReturn (happyIn25 r))-happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69-happyReduction_69- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut119 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CReturn happy_var_2))- (\ r -> happyReturn (happyIn25 r))-happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70-happyReduction_70- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CAsmStmt happy_var_2 happy_var_4- []- []- []))- (\ r -> happyReturn (happyIn26 r))-happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71-happyReduction_71- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> case happyOut28 happy_x_6 of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CAsmStmt- happy_var_2- happy_var_4- happy_var_6- []- []))- (\ r -> happyReturn (happyIn26 r))-happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72-happyReduction_72- (happy_x_10 `HappyStk`- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> case happyOut28 happy_x_6 of- happy_var_6 -> case- happyOut28- happy_x_8- of- happy_var_8 -> (withNodeInfo- happy_var_1- $- CAsmStmt- happy_var_2- happy_var_4- happy_var_6- happy_var_8- []))- (\ r -> happyReturn (happyIn26 r))-happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73-happyReduction_73- (happy_x_12 `HappyStk`- (happy_x_11 `HappyStk`- (happy_x_10 `HappyStk`- (happy_x_9 `HappyStk`- (happy_x_8 `HappyStk`- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut27 happy_x_2 of- happy_var_2 -> case happyOut123 happy_x_4 of- happy_var_4 -> case happyOut28 happy_x_6 of- happy_var_6 -> case- happyOut28- happy_x_8- of- happy_var_8 -> case- happyOut31- happy_x_10- of- happy_var_10 -> (withNodeInfo- happy_var_1- $- CAsmStmt- happy_var_2- happy_var_4- happy_var_6- happy_var_8- (reverse- happy_var_10)))- (\ r -> happyReturn (happyIn26 r))-happyReduce_74 = happySpecReduce_0 20# happyReduction_74-happyReduction_74 = happyIn27 (Nothing)-happyReduce_75 = happySpecReduce_1 20# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut61 happy_x_1 of- happy_var_1 -> happyIn27 (Just happy_var_1)-happyReduce_76 = happySpecReduce_0 21# happyReduction_76-happyReduction_76 = happyIn28 ([])-happyReduce_77 = happySpecReduce_1 21# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut29 happy_x_1 of- happy_var_1 -> happyIn28 (reverse happy_var_1)-happyReduce_78 = happySpecReduce_1 22# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut30 happy_x_1 of- happy_var_1 -> happyIn29 (singleton happy_var_1)-happyReduce_79 = happySpecReduce_3 22# happyReduction_79-happyReduction_79 happy_x_3 happy_x_2 happy_x_1- = case happyOut29 happy_x_1 of- happy_var_1 -> case happyOut30 happy_x_3 of- happy_var_3 -> happyIn29 (happy_var_1 `snoc` happy_var_3)-happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80-happyReduction_80- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut123 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CAsmOperand Nothing happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn30 r))-happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81-happyReduction_81- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokIdent _ happy_var_2) -> case happyOut123 happy_x_4 of- happy_var_4 -> case- happyOut117- happy_x_6- of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CAsmOperand- (Just- happy_var_2)- happy_var_4- happy_var_6))- (\ r -> happyReturn (happyIn30 r))-happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82-happyReduction_82- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> case happyOut123 happy_x_4 of- happy_var_4 -> case- happyOut117- happy_x_6- of- happy_var_6 -> (withNodeInfo- happy_var_1- $- CAsmOperand- (Just- happy_var_2)- happy_var_4- happy_var_6))- (\ r -> happyReturn (happyIn30 r))-happyReduce_83 = happySpecReduce_1 24# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut123 happy_x_1 of- happy_var_1 -> happyIn31 (singleton happy_var_1)-happyReduce_84 = happySpecReduce_3 24# happyReduction_84-happyReduction_84 happy_x_3 happy_x_2 happy_x_1- = case happyOut31 happy_x_1 of- happy_var_1 -> case happyOut123 happy_x_3 of- happy_var_3 -> happyIn31 (happy_var_1 `snoc` happy_var_3)-happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85-happyReduction_85- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut45 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1) []))- (\ r -> happyReturn (happyIn32 r))-happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86-happyReduction_86- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut46 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1) []))- (\ r -> happyReturn (happyIn32 r))-happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87-happyReduction_87- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut36 happy_x_1 of- happy_var_1 -> (case happy_var_1 of- CDecl declspecs dies at -> withLength at- (CDecl declspecs (List.reverse dies))))- (\ r -> happyReturn (happyIn32 r))-happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88-happyReduction_88- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut34 happy_x_1 of- happy_var_1 -> (case happy_var_1 of- CDecl declspecs dies at -> withLength at- (CDecl declspecs (List.reverse dies))))- (\ r -> happyReturn (happyIn32 r))-happyReduce_89 = happySpecReduce_0 26# happyReduction_89-happyReduction_89 = happyIn33 (empty)-happyReduce_90 = happySpecReduce_2 26# happyReduction_90-happyReduction_90 happy_x_2 happy_x_1- = case happyOut33 happy_x_1 of- happy_var_1 -> case happyOut32 happy_x_2 of- happy_var_2 -> happyIn33 (happy_var_1 `snoc` happy_var_2)-happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91-happyReduction_91- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (let declspecs- = reverse- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- declspecs- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92-happyReduction_92- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (let declspecs- = liftTypeQuals- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- declspecs- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93-happyReduction_93- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut72 happy_x_3 of- happy_var_3 -> case happyOut35 happy_x_4 of- happy_var_4 -> case- happyOut91- happy_x_5- of- happy_var_5 -> (let declspecs- = liftTypeQuals- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_4- happy_var_3- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- (declspecs- ++- liftCAttrs- happy_var_2)- [(Just- (reverseDeclr- declr),- happy_var_5,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94-happyReduction_94- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (let declspecs- = liftCAttrs- happy_var_1- in- do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- declspecs- declr- withNodeInfo- happy_var_1- $- CDecl- declspecs- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn34 r))-happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95-happyReduction_95- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut34 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut72 happy_x_4 of- happy_var_4 -> case happyOut35 happy_x_5 of- happy_var_5 -> case- happyOut91- happy_x_6- of- happy_var_6 -> (case- happy_var_1- of- CDecl- declspecs- dies- at -> do declr <- withAsmNameAttrs- (fst- happy_var_5,- snd- happy_var_5- ++- happy_var_3)- happy_var_4- doDeclIdent- declspecs- declr- withLength- at- $- CDecl- declspecs- ((Just- (reverseDeclr- declr),- happy_var_6,- Nothing)- :- dies)))- (\ r -> happyReturn (happyIn34 r))-happyReduce_96 = happySpecReduce_2 28# happyReduction_96-happyReduction_96 happy_x_2 happy_x_1- = case happyOut64 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> happyIn35 ((happy_var_1, happy_var_2))-happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97-happyReduction_97- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut63 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- happy_var_1- declr- withNodeInfo- happy_var_1- $- CDecl- happy_var_1- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn36 r))-happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98-happyReduction_98- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut63 happy_x_2 of- happy_var_2 -> case happyOut35 happy_x_3 of- happy_var_3 -> case happyOut91 happy_x_4 of- happy_var_4 -> (do declr <- withAsmNameAttrs- happy_var_3- happy_var_2- doDeclIdent- happy_var_1- declr- withNodeInfo- happy_var_1- $- CDecl- happy_var_1- [(Just- (reverseDeclr- declr),- happy_var_4,- Nothing)]))- (\ r -> happyReturn (happyIn36 r))-happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99-happyReduction_99- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut36 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut63 happy_x_4 of- happy_var_4 -> case happyOut35 happy_x_5 of- happy_var_5 -> case- happyOut91- happy_x_6- of- happy_var_6 -> (case- happy_var_1- of- CDecl- declspecs- dies- at -> do declr <- withAsmNameAttrs- (fst- happy_var_5,- snd- happy_var_5- ++- happy_var_3)- happy_var_4- doDeclIdent- declspecs- declr- return- (CDecl- declspecs- ((Just- (reverseDeclr- declr),- happy_var_6,- Nothing)- :- dies)- at)))- (\ r -> happyReturn (happyIn36 r))-happyReduce_100 = happySpecReduce_1 30# happyReduction_100-happyReduction_100 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_101 = happySpecReduce_1 30# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut45 happy_x_1 of- happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_102 = happySpecReduce_1 30# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut47 happy_x_1 of- happy_var_1 -> happyIn37 (reverse happy_var_1)-happyReduce_103 = happySpecReduce_1 31# happyReduction_103-happyReduction_103 happy_x_1- = case happyOut40 happy_x_1 of- happy_var_1 -> happyIn38 (singleton (CStorageSpec happy_var_1))-happyReduce_104 = happySpecReduce_2 31# happyReduction_104-happyReduction_104 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn38- (reverseList (liftCAttrs happy_var_1) `snoc`- (CStorageSpec happy_var_2))-happyReduce_105 = happySpecReduce_2 31# happyReduction_105-happyReduction_105 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn38- (rmap CTypeQual happy_var_1 `snoc`- CStorageSpec happy_var_2)-happyReduce_106 = happySpecReduce_3 31# happyReduction_106-happyReduction_106 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut40 happy_x_3 of- happy_var_3 -> happyIn38- ((rmap CTypeQual happy_var_1- `rappend` liftCAttrs happy_var_2)- `snoc` CStorageSpec happy_var_3)-happyReduce_107 = happySpecReduce_2 31# happyReduction_107-happyReduction_107 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn38 (happy_var_1 `snoc` happy_var_2)-happyReduce_108 = happySpecReduce_2 31# happyReduction_108-happyReduction_108 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn38 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_109 = happySpecReduce_1 32# happyReduction_109-happyReduction_109 happy_x_1- = case happyOut40 happy_x_1 of- happy_var_1 -> happyIn39 (CStorageSpec happy_var_1)-happyReduce_110 = happySpecReduce_1 32# happyReduction_110-happyReduction_110 happy_x_1- = case happyOut61 happy_x_1 of- happy_var_1 -> happyIn39 (CTypeQual happy_var_1)-happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CTypedef))- (\ r -> happyReturn (happyIn40 r))-happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112-happyReduction_112 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CExtern))- (\ r -> happyReturn (happyIn40 r))-happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113-happyReduction_113 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CStatic))- (\ r -> happyReturn (happyIn40 r))-happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114-happyReduction_114 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CAuto))- (\ r -> happyReturn (happyIn40 r))-happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115-happyReduction_115 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CRegister))- (\ r -> happyReturn (happyIn40 r))-happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116-happyReduction_116 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CThread))- (\ r -> happyReturn (happyIn40 r))-happyReduce_117 = happySpecReduce_1 34# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_118 = happySpecReduce_1 34# happyReduction_118-happyReduction_118 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_119 = happySpecReduce_1 34# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> happyIn41 (reverse happy_var_1)-happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120-happyReduction_120 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CVoidType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121-happyReduction_121 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CCharType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122-happyReduction_122 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CShortType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123-happyReduction_123 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CIntType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CLongType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125-happyReduction_125 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CFloatType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDoubleType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127-happyReduction_127 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CSignedType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128-happyReduction_128 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CUnsigType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129-happyReduction_129 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CBoolType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130-happyReduction_130 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CComplexType))- (\ r -> happyReturn (happyIn42 r))-happyReduce_131 = happySpecReduce_2 36# happyReduction_131-happyReduction_131 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_132 = happySpecReduce_2 36# happyReduction_132-happyReduction_132 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn43- (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_133 = happySpecReduce_2 36# happyReduction_133-happyReduction_133 happy_x_2 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn43 (happy_var_1 `snoc` happy_var_2)-happyReduce_134 = happySpecReduce_2 36# happyReduction_134-happyReduction_134 happy_x_2 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_135 = happySpecReduce_2 36# happyReduction_135-happyReduction_135 happy_x_2 happy_x_1- = case happyOut43 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn43 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_136 = happySpecReduce_1 37# happyReduction_136-happyReduction_136 happy_x_1- = case happyOut42 happy_x_1 of- happy_var_1 -> happyIn44 (singleton (CTypeSpec happy_var_1))-happyReduce_137 = happySpecReduce_2 37# happyReduction_137-happyReduction_137 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn44- ((reverseList $ liftCAttrs happy_var_1) `snoc`- (CTypeSpec happy_var_2))-happyReduce_138 = happySpecReduce_2 37# happyReduction_138-happyReduction_138 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn44- (rmap CTypeQual happy_var_1 `snoc`- CTypeSpec happy_var_2)-happyReduce_139 = happySpecReduce_3 37# happyReduction_139-happyReduction_139 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut42 happy_x_3 of- happy_var_3 -> happyIn44- (rmap CTypeQual happy_var_1 `rappend`- (liftCAttrs happy_var_2)- `snoc` CTypeSpec happy_var_3)-happyReduce_140 = happySpecReduce_2 37# happyReduction_140-happyReduction_140 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_141 = happySpecReduce_2 37# happyReduction_141-happyReduction_141 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut42 happy_x_2 of- happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_142 = happySpecReduce_2 37# happyReduction_142-happyReduction_142 happy_x_2 happy_x_1- = case happyOut44 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn44 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_143 = happySpecReduce_2 38# happyReduction_143-happyReduction_143 happy_x_2 happy_x_1- = case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut49 happy_x_2 of- happy_var_2 -> happyIn45 (happy_var_1 `snoc` CTypeSpec happy_var_2)-happyReduce_144 = happySpecReduce_2 38# happyReduction_144-happyReduction_144 happy_x_2 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn45- (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_145 = happySpecReduce_2 38# happyReduction_145-happyReduction_145 happy_x_2 happy_x_1- = case happyOut45 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn45 (happy_var_1 `snoc` happy_var_2)-happyReduce_146 = happySpecReduce_2 38# happyReduction_146-happyReduction_146 happy_x_2 happy_x_1- = case happyOut45 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn45 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_147 = happySpecReduce_1 39# happyReduction_147-happyReduction_147 happy_x_1- = case happyOut49 happy_x_1 of- happy_var_1 -> happyIn46 (singleton (CTypeSpec happy_var_1))-happyReduce_148 = happySpecReduce_2 39# happyReduction_148-happyReduction_148 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut49 happy_x_2 of- happy_var_2 -> happyIn46- ((reverseList $ liftCAttrs happy_var_1) `snoc`- (CTypeSpec happy_var_2))-happyReduce_149 = happySpecReduce_2 39# happyReduction_149-happyReduction_149 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut49 happy_x_2 of- happy_var_2 -> happyIn46- (rmap CTypeQual happy_var_1 `snoc`- CTypeSpec happy_var_2)-happyReduce_150 = happySpecReduce_3 39# happyReduction_150-happyReduction_150 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut49 happy_x_3 of- happy_var_3 -> happyIn46- (rmap CTypeQual happy_var_1 `rappend`- (liftCAttrs happy_var_2)- `snoc` CTypeSpec happy_var_3)-happyReduce_151 = happySpecReduce_2 39# happyReduction_151-happyReduction_151 happy_x_2 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn46 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_152 = happySpecReduce_2 39# happyReduction_152-happyReduction_152 happy_x_2 happy_x_1- = case happyOut46 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn46 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_153 = happySpecReduce_2 40# happyReduction_153-happyReduction_153 happy_x_2 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> case happyOut40 happy_x_2 of- happy_var_2 -> happyIn47- (happy_var_1 `snoc` CStorageSpec happy_var_2)-happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154-happyReduction_154- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $- \ at ->- happy_var_1 `snoc`- CTypeSpec- (CTypeDef happy_var_2 at)))- (\ r -> happyReturn (happyIn47 r))-happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155-happyReduction_155- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut117 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- happy_var_1 `snoc`- CTypeSpec- (CTypeOfExpr happy_var_4- at)))- (\ r -> happyReturn (happyIn47 r))-happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156-happyReduction_156- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut83 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- happy_var_1 `snoc`- CTypeSpec- (CTypeOfType happy_var_4- at)))- (\ r -> happyReturn (happyIn47 r))-happyReduce_157 = happySpecReduce_2 40# happyReduction_157-happyReduction_157 happy_x_2 happy_x_1- = case happyOut47 happy_x_1 of- happy_var_1 -> case happyOut39 happy_x_2 of- happy_var_2 -> happyIn47 (happy_var_1 `snoc` happy_var_2)-happyReduce_158 = happySpecReduce_2 40# happyReduction_158-happyReduction_158 happy_x_2 happy_x_1- = case happyOut47 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn47 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159-happyReduction_159 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- \ at ->- singleton (CTypeSpec (CTypeDef happy_var_1 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160-happyReduction_160- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- \ at ->- singleton- (CTypeSpec (CTypeOfExpr happy_var_3 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161-happyReduction_161- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- \ at ->- singleton- (CTypeSpec (CTypeOfType happy_var_3 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162-happyReduction_162- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $- \ at ->- rmap CTypeQual happy_var_1 `snoc`- CTypeSpec- (CTypeDef happy_var_2 at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163-happyReduction_163- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut117 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- rmap CTypeQual happy_var_1- `snoc`- CTypeSpec- (CTypeOfExpr happy_var_4- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164-happyReduction_164- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut83 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- rmap CTypeQual happy_var_1- `snoc`- CTypeSpec- (CTypeOfType happy_var_4- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165-happyReduction_165- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $- \ at ->- reverseList- (liftCAttrs happy_var_1)- `snoc`- (CTypeSpec- (CTypeDef happy_var_2 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166-happyReduction_166- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- \ at ->- reverseList (liftCAttrs happy_var_1) `snoc`- (CTypeSpec (CTypeOfExpr happy_var_4 at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167-happyReduction_167- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> case happyOut83 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_2 $- \ at ->- reverseList- (liftCAttrs happy_var_1)- `snoc`- (CTypeSpec- (CTypeOfType happy_var_4- at))))- (\ r -> happyReturn (happyIn48 r))-happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168-happyReduction_168- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOutTok happy_x_3 of- (CTokTyIdent _ happy_var_3) -> (withNodeInfo- happy_var_3- $- \ at ->- rmap CTypeQual- happy_var_1- `rappend`- (liftCAttrs- happy_var_2)- `snoc`- CTypeSpec- (CTypeDef- happy_var_3- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169-happyReduction_169- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOutTok happy_x_3 of- happy_var_3 -> case happyOut117 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_3- $- \ at ->- rmap- CTypeQual- happy_var_1- `rappend`- (liftCAttrs- happy_var_2)- `snoc`- CTypeSpec- (CTypeOfExpr- happy_var_5- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170-happyReduction_170- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOutTok happy_x_3 of- happy_var_3 -> case happyOut83 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_3- $- \ at ->- rmap- CTypeQual- happy_var_1- `rappend`- (liftCAttrs- happy_var_2)- `snoc`- CTypeSpec- (CTypeOfType- happy_var_5- at)))- (\ r -> happyReturn (happyIn48 r))-happyReduce_171 = happySpecReduce_2 41# happyReduction_171-happyReduction_171 happy_x_2 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn48 (happy_var_1 `snoc` CTypeQual happy_var_2)-happyReduce_172 = happySpecReduce_2 41# happyReduction_172-happyReduction_172 happy_x_2 happy_x_1- = case happyOut48 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn48 (addTrailingAttrs happy_var_1 happy_var_2)-happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173-happyReduction_173 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut50 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CSUType happy_var_1))- (\ r -> happyReturn (happyIn49 r))-happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174-happyReduction_174 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut58 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CEnumType happy_var_1))- (\ r -> happyReturn (happyIn49 r))-happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175-happyReduction_175- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOut51 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> case happyOut52 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CStruct- (unL- happy_var_1)- (Just- happy_var_3)- (Just $- reverse- happy_var_5)- happy_var_2))- (\ r -> happyReturn (happyIn50 r))-happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176-happyReduction_176- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut51 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut52 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CStruct (unL happy_var_1) Nothing- (Just $ reverse happy_var_4)- happy_var_2))- (\ r -> happyReturn (happyIn50 r))-happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177-happyReduction_177- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut51 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CStruct (unL happy_var_1)- (Just happy_var_3)- Nothing- happy_var_2))- (\ r -> happyReturn (happyIn50 r))-happyReduce_178 = happySpecReduce_1 44# happyReduction_178-happyReduction_178 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn51 (L CStructTag (posOf happy_var_1))-happyReduce_179 = happySpecReduce_1 44# happyReduction_179-happyReduction_179 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn51 (L CUnionTag (posOf happy_var_1))-happyReduce_180 = happySpecReduce_0 45# happyReduction_180-happyReduction_180 = happyIn52 (empty)-happyReduce_181 = happySpecReduce_2 45# happyReduction_181-happyReduction_181 happy_x_2 happy_x_1- = case happyOut52 happy_x_1 of- happy_var_1 -> happyIn52 (happy_var_1)-happyReduce_182 = happySpecReduce_2 45# happyReduction_182-happyReduction_182 happy_x_2 happy_x_1- = case happyOut52 happy_x_1 of- happy_var_1 -> case happyOut53 happy_x_2 of- happy_var_2 -> happyIn52 (happy_var_1 `snoc` happy_var_2)-happyReduce_183 = happySpecReduce_2 46# happyReduction_183-happyReduction_183 happy_x_2 happy_x_1- = case happyOut55 happy_x_1 of- happy_var_1 -> happyIn53- (case happy_var_1 of- CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)-happyReduce_184 = happySpecReduce_2 46# happyReduction_184-happyReduction_184 happy_x_2 happy_x_1- = case happyOut54 happy_x_1 of- happy_var_1 -> happyIn53- (case happy_var_1 of- CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)-happyReduce_185 = happySpecReduce_2 46# happyReduction_185-happyReduction_185 happy_x_2 happy_x_1- = case happyOut53 happy_x_2 of- happy_var_2 -> happyIn53 (happy_var_2)-happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186-happyReduction_186- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut57 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- case happy_var_3 of- (d, s) -> CDecl- (liftTypeQuals- happy_var_1- ++- liftCAttrs- happy_var_2)- [(d, Nothing,- s)]))- (\ r -> happyReturn (happyIn54 r))-happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187-happyReduction_187- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut57 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- case happy_var_2 of- (d, s) -> CDecl (liftCAttrs happy_var_1)- [(d, Nothing, s)]))- (\ r -> happyReturn (happyIn54 r))-happyReduce_188 = happyReduce 4# 47# happyReduction_188-happyReduction_188- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut54 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut57 happy_x_4 of- happy_var_4 -> happyIn54- (case happy_var_1 of- CDecl declspecs dies at -> case- happy_var_4- of- (Just- d,- s) -> CDecl- declspecs- ((Just- $- appendObjAttrs- happy_var_3- d,- Nothing,- s)- :- dies)- at- (Nothing,- s) -> CDecl- declspecs- ((Nothing,- Nothing,- s)- :- dies)- at)- `HappyStk` happyRest-happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189-happyReduction_189- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut56 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- case happy_var_2 of- (Just d, s) -> CDecl- happy_var_1- [(Just $!- appendObjAttrs- happy_var_3- d,- Nothing,- s)]- (Nothing, s) -> CDecl- happy_var_1- [(Nothing,- Nothing,- s)]))- (\ r -> happyReturn (happyIn55 r))-happyReduce_190 = happyReduce 5# 48# happyReduction_190-happyReduction_190- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut55 happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut56 happy_x_4 of- happy_var_4 -> case happyOut126 happy_x_5 of- happy_var_5 -> happyIn55- (case happy_var_1- of- CDecl- declspecs- dies- attr -> case- happy_var_4- of- (Just- d,- s) -> CDecl- declspecs- ((Just- $- appendObjAttrs- (happy_var_3- ++- happy_var_5)- d,- Nothing,- s)- :- dies)- attr- (Nothing,- s) -> CDecl- declspecs- ((Nothing,- Nothing,- s)- :- dies)- attr)- `HappyStk`- happyRest-happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191-happyReduction_191 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn55 r))-happyReduce_192 = happySpecReduce_1 49# happyReduction_192-happyReduction_192 happy_x_1- = case happyOut63 happy_x_1 of- happy_var_1 -> happyIn56- ((Just (reverseDeclr happy_var_1), Nothing))-happyReduce_193 = happySpecReduce_2 49# happyReduction_193-happyReduction_193 happy_x_2 happy_x_1- = case happyOut121 happy_x_2 of- happy_var_2 -> happyIn56 ((Nothing, Just happy_var_2))-happyReduce_194 = happySpecReduce_3 49# happyReduction_194-happyReduction_194 happy_x_3 happy_x_2 happy_x_1- = case happyOut63 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn56- ((Just (reverseDeclr happy_var_1), Just happy_var_3))-happyReduce_195 = happySpecReduce_1 50# happyReduction_195-happyReduction_195 happy_x_1- = case happyOut72 happy_x_1 of- happy_var_1 -> happyIn57- ((Just (reverseDeclr happy_var_1), Nothing))-happyReduce_196 = happySpecReduce_2 50# happyReduction_196-happyReduction_196 happy_x_2 happy_x_1- = case happyOut121 happy_x_2 of- happy_var_2 -> happyIn57 ((Nothing, Just happy_var_2))-happyReduce_197 = happySpecReduce_3 50# happyReduction_197-happyReduction_197 happy_x_3 happy_x_2 happy_x_1- = case happyOut72 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn57- ((Just (reverseDeclr happy_var_1), Just happy_var_3))-happyReduce_198 = happySpecReduce_2 50# happyReduction_198-happyReduction_198 happy_x_2 happy_x_1- = case happyOut57 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn57- (case happy_var_1 of- (Nothing, expr) -> (Nothing, expr)- (Just (CDeclr name derived asmname attrs node),- bsz) -> (Just- (CDeclr name derived asmname- (attrs ++ happy_var_2)- node),- bsz))-happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199-happyReduction_199- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut59 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CEnum Nothing- (Just $ reverse happy_var_4)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200-happyReduction_200- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut59 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CEnum Nothing- (Just $ reverse happy_var_4)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201-happyReduction_201- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> case happyOut59 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CEnum- (Just- happy_var_3)- (Just $- reverse- happy_var_5)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202-happyReduction_202- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> case happyOut59 happy_x_5 of- happy_var_5 -> (withNodeInfo- happy_var_1- $- CEnum- (Just- happy_var_3)- (Just $- reverse- happy_var_5)- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203-happyReduction_203- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_2 of- happy_var_2 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CEnum (Just happy_var_3) Nothing- happy_var_2))- (\ r -> happyReturn (happyIn58 r))-happyReduce_204 = happySpecReduce_1 52# happyReduction_204-happyReduction_204 happy_x_1- = case happyOut60 happy_x_1 of- happy_var_1 -> happyIn59 (singleton happy_var_1)-happyReduce_205 = happySpecReduce_3 52# happyReduction_205-happyReduction_205 happy_x_3 happy_x_2 happy_x_1- = case happyOut59 happy_x_1 of- happy_var_1 -> case happyOut60 happy_x_3 of- happy_var_3 -> happyIn59 (happy_var_1 `snoc` happy_var_3)-happyReduce_206 = happySpecReduce_1 53# happyReduction_206-happyReduction_206 happy_x_1- = case happyOut125 happy_x_1 of- happy_var_1 -> happyIn60 ((happy_var_1, Nothing))-happyReduce_207 = happySpecReduce_3 53# happyReduction_207-happyReduction_207 happy_x_3 happy_x_2 happy_x_1- = case happyOut125 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn60 ((happy_var_1, Just happy_var_3))-happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208-happyReduction_208 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CConstQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209-happyReduction_209 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CVolatQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210-happyReduction_210 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CRestrQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211-happyReduction_211 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CInlineQual))- (\ r -> happyReturn (happyIn61 r))-happyReduce_212 = happySpecReduce_2 55# happyReduction_212-happyReduction_212 happy_x_2 happy_x_1- = case happyOut126 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn62- (reverseList (map CAttrQual happy_var_1) `snoc`- happy_var_2)-happyReduce_213 = happySpecReduce_2 55# happyReduction_213-happyReduction_213 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut61 happy_x_2 of- happy_var_2 -> happyIn62 (happy_var_1 `snoc` happy_var_2)-happyReduce_214 = happySpecReduce_3 55# happyReduction_214-happyReduction_214 happy_x_3 happy_x_2 happy_x_1- = case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut61 happy_x_3 of- happy_var_3 -> happyIn62- ((happy_var_1 `rappend`- map CAttrQual happy_var_2)- `snoc` happy_var_3)-happyReduce_215 = happySpecReduce_1 56# happyReduction_215-happyReduction_215 happy_x_1- = case happyOut72 happy_x_1 of- happy_var_1 -> happyIn63 (happy_var_1)-happyReduce_216 = happySpecReduce_1 56# happyReduction_216-happyReduction_216 happy_x_1- = case happyOut65 happy_x_1 of- happy_var_1 -> happyIn63 (happy_var_1)-happyReduce_217 = happySpecReduce_0 57# happyReduction_217-happyReduction_217 = happyIn64 (Nothing)-happyReduce_218 = happyReduce 4# 57# happyReduction_218-happyReduction_218- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut123 happy_x_3 of- happy_var_3 -> happyIn64 (Just happy_var_3) `HappyStk` happyRest-happyReduce_219 = happySpecReduce_1 58# happyReduction_219-happyReduction_219 happy_x_1- = case happyOut69 happy_x_1 of- happy_var_1 -> happyIn65 (happy_var_1)-happyReduce_220 = happySpecReduce_1 58# happyReduction_220-happyReduction_220 happy_x_1- = case happyOut66 happy_x_1 of- happy_var_1 -> happyIn65 (happy_var_1)-happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221-happyReduction_221 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- mkVarDeclr happy_var_1))- (\ r -> happyReturn (happyIn66 r))-happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222-happyReduction_222- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> case happyOut85 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- \ at ->- happy_var_2- (mkVarDeclr happy_var_1 at)))- (\ r -> happyReturn (happyIn66 r))-happyReduce_223 = happySpecReduce_1 59# happyReduction_223-happyReduction_223 happy_x_1- = case happyOut67 happy_x_1 of- happy_var_1 -> happyIn66 (happy_var_1)-happyReduce_224 = happySpecReduce_1 60# happyReduction_224-happyReduction_224 happy_x_1- = case happyOut68 happy_x_1 of- happy_var_1 -> happyIn67 (happy_var_1)-happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225-happyReduction_225- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut66 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn67 r))-happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226-happyReduction_226- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut66 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_2- $ ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn67 r))-happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227-happyReduction_227- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut66 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn67 r))-happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228-happyReduction_228- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut66 happy_x_4 of- happy_var_4 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_4- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn67 r))-happyReduce_229 = happySpecReduce_3 61# happyReduction_229-happyReduction_229 happy_x_3 happy_x_2 happy_x_1- = case happyOut67 happy_x_2 of- happy_var_2 -> happyIn68 (happy_var_2)-happyReduce_230 = happyReduce 4# 61# happyReduction_230-happyReduction_230- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut67 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn68 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_231 = happyReduce 4# 61# happyReduction_231-happyReduction_231- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut67 happy_x_3 of- happy_var_3 -> happyIn68 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_232 = happyReduce 5# 61# happyReduction_232-happyReduction_232- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut67 happy_x_3 of- happy_var_3 -> case happyOut85 happy_x_5 of- happy_var_5 -> happyIn68- (appendDeclrAttrs happy_var_2- (happy_var_5 happy_var_3))- `HappyStk` happyRest-happyReduce_233 = happySpecReduce_1 62# happyReduction_233-happyReduction_233 happy_x_1- = case happyOut70 happy_x_1 of- happy_var_1 -> happyIn69 (happy_var_1)-happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234-happyReduction_234- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut71 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn69 r))-happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235-happyReduction_235- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut71 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_4- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236-happyReduction_236- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut71 happy_x_5 of- happy_var_5 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_5- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237-happyReduction_237- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut69 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn69 r))-happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238-happyReduction_238- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut69 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239-happyReduction_239- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut69 happy_x_4 of- happy_var_4 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_4- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn69 r))-happyReduce_240 = happySpecReduce_3 63# happyReduction_240-happyReduction_240 happy_x_3 happy_x_2 happy_x_1- = case happyOut69 happy_x_2 of- happy_var_2 -> happyIn70 (happy_var_2)-happyReduce_241 = happyReduce 4# 63# happyReduction_241-happyReduction_241- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut71 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_3 of- happy_var_3 -> happyIn70 (happy_var_3 happy_var_2) `HappyStk`- happyRest-happyReduce_242 = happyReduce 4# 63# happyReduction_242-happyReduction_242- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut69 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn70 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243-happyReduction_243 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- mkVarDeclr happy_var_1))- (\ r -> happyReturn (happyIn71 r))-happyReduce_244 = happySpecReduce_3 64# happyReduction_244-happyReduction_244 happy_x_3 happy_x_2 happy_x_1- = case happyOut71 happy_x_2 of- happy_var_2 -> happyIn71 (happy_var_2)-happyReduce_245 = happySpecReduce_1 65# happyReduction_245-happyReduction_245 happy_x_1- = case happyOut73 happy_x_1 of- happy_var_1 -> happyIn72 (happy_var_1)-happyReduce_246 = happySpecReduce_1 65# happyReduction_246-happyReduction_246 happy_x_1- = case happyOut75 happy_x_1 of- happy_var_1 -> happyIn72 (happy_var_1)-happyReduce_247 = happySpecReduce_1 66# happyReduction_247-happyReduction_247 happy_x_1- = case happyOut74 happy_x_1 of- happy_var_1 -> happyIn73 (happy_var_1)-happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248-happyReduction_248- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn73 r))-happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249-happyReduction_249- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut72 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_2- $ ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn73 r))-happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250-happyReduction_250- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut72 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn73 r))-happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251-happyReduction_251- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut72 happy_x_4 of- happy_var_4 -> (withAttribute- happy_var_1- happy_var_3- $- ptrDeclr- happy_var_4- (reverse- happy_var_2)))- (\ r -> happyReturn (happyIn73 r))-happyReduce_252 = happySpecReduce_2 67# happyReduction_252-happyReduction_252 happy_x_2 happy_x_1- = case happyOut75 happy_x_1 of- happy_var_1 -> case happyOut85 happy_x_2 of- happy_var_2 -> happyIn74 (happy_var_2 happy_var_1)-happyReduce_253 = happySpecReduce_3 67# happyReduction_253-happyReduction_253 happy_x_3 happy_x_2 happy_x_1- = case happyOut73 happy_x_2 of- happy_var_2 -> happyIn74 (happy_var_2)-happyReduce_254 = happyReduce 4# 67# happyReduction_254-happyReduction_254- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut73 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn74 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_255 = happyReduce 4# 67# happyReduction_255-happyReduction_255- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut73 happy_x_3 of- happy_var_3 -> happyIn74 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_256 = happyReduce 5# 67# happyReduction_256-happyReduction_256- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut73 happy_x_3 of- happy_var_3 -> case happyOut85 happy_x_5 of- happy_var_5 -> happyIn74- (appendDeclrAttrs happy_var_2- (happy_var_5 happy_var_3))- `HappyStk` happyRest-happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257-happyReduction_257 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- mkVarDeclr happy_var_1))- (\ r -> happyReturn (happyIn75 r))-happyReduce_258 = happySpecReduce_3 68# happyReduction_258-happyReduction_258 happy_x_3 happy_x_2 happy_x_1- = case happyOut75 happy_x_2 of- happy_var_2 -> happyIn75 (happy_var_2)-happyReduce_259 = happyReduce 4# 68# happyReduction_259-happyReduction_259- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut75 happy_x_3 of- happy_var_3 -> happyIn75 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_260 = happySpecReduce_1 69# happyReduction_260-happyReduction_260 happy_x_1- = case happyOut77 happy_x_1 of- happy_var_1 -> happyIn76 (reverseDeclr happy_var_1)-happyReduce_261 = happySpecReduce_1 70# happyReduction_261-happyReduction_261 happy_x_1- = case happyOut78 happy_x_1 of- happy_var_1 -> happyIn77 (happy_var_1)-happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262-happyReduction_262- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut77 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn77 r))-happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263-happyReduction_263- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut77 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn77 r))-happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264-happyReduction_264- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut75 happy_x_1 of- happy_var_1 -> case happyOut82 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- funDeclr happy_var_1 (Left $ reverse happy_var_3)- []))- (\ r -> happyReturn (happyIn78 r))-happyReduce_265 = happySpecReduce_3 71# happyReduction_265-happyReduction_265 happy_x_3 happy_x_2 happy_x_1- = case happyOut77 happy_x_2 of- happy_var_2 -> happyIn78 (happy_var_2)-happyReduce_266 = happyReduce 4# 71# happyReduction_266-happyReduction_266- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut77 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn78 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_267 = happySpecReduce_0 72# happyReduction_267-happyReduction_267 = happyIn79 (([], False))-happyReduce_268 = happySpecReduce_1 72# happyReduction_268-happyReduction_268 happy_x_1- = case happyOut80 happy_x_1 of- happy_var_1 -> happyIn79 ((reverse happy_var_1, False))-happyReduce_269 = happySpecReduce_3 72# happyReduction_269-happyReduction_269 happy_x_3 happy_x_2 happy_x_1- = case happyOut80 happy_x_1 of- happy_var_1 -> happyIn79 ((reverse happy_var_1, True))-happyReduce_270 = happySpecReduce_1 73# happyReduction_270-happyReduction_270 happy_x_1- = case happyOut81 happy_x_1 of- happy_var_1 -> happyIn80 (singleton happy_var_1)-happyReduce_271 = happySpecReduce_3 73# happyReduction_271-happyReduction_271 happy_x_3 happy_x_2 happy_x_1- = case happyOut80 happy_x_1 of- happy_var_1 -> case happyOut81 happy_x_3 of- happy_var_3 -> happyIn80 (happy_var_1 `snoc` happy_var_3)-happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272-happyReduction_272 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273-happyReduction_273- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274-happyReduction_274- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275-happyReduction_275- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut37 happy_x_1 of- happy_var_1 -> case happyOut66 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276-happyReduction_276 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1) []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277-happyReduction_277- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1)- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278-happyReduction_278- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut38 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl (reverse happy_var_1)- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279-happyReduction_279 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280-happyReduction_280- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281-happyReduction_281- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282-happyReduction_282- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut66 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just- (reverseDeclr $!- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1) []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284-happyReduction_284- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl- (liftTypeQuals happy_var_1 ++- liftCAttrs happy_var_2)- []))- (\ r -> happyReturn (happyIn81 r))-happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285-happyReduction_285- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1)- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286-happyReduction_286- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut72 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1)- [(Just- (reverseDeclr $- appendDeclrAttrs- happy_var_3- happy_var_2),- Nothing, Nothing)]))- (\ r -> happyReturn (happyIn81 r))-happyReduce_287 = happySpecReduce_1 75# happyReduction_287-happyReduction_287 happy_x_1- = case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> happyIn82 (singleton happy_var_1)-happyReduce_288 = happySpecReduce_3 75# happyReduction_288-happyReduction_288 happy_x_3 happy_x_2 happy_x_1- = case happyOut82 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_3 of- (CTokIdent _ happy_var_3) -> happyIn82- (happy_var_1 `snoc` happy_var_3)-happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289-happyReduction_289 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))- (\ r -> happyReturn (happyIn83 r))-happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290-happyReduction_290- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut41 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl happy_var_1- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn83 r))-happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291-happyReduction_291- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl- (liftTypeQuals happy_var_1 ++- liftCAttrs happy_var_2)- []))- (\ r -> happyReturn (happyIn83 r))-happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292-happyReduction_292- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut62 happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CDecl (liftTypeQuals happy_var_1)- [(Just (reverseDeclr happy_var_2), Nothing,- Nothing)]))- (\ r -> happyReturn (happyIn83 r))-happyReduce_293 = happySpecReduce_1 77# happyReduction_293-happyReduction_293 happy_x_1- = case happyOut88 happy_x_1 of- happy_var_1 -> happyIn84 (happy_var_1)-happyReduce_294 = happySpecReduce_1 77# happyReduction_294-happyReduction_294 happy_x_1- = case happyOut89 happy_x_1 of- happy_var_1 -> happyIn84 (happy_var_1)-happyReduce_295 = happySpecReduce_1 77# happyReduction_295-happyReduction_295 happy_x_1- = case happyOut85 happy_x_1 of- happy_var_1 -> happyIn84 (happy_var_1 emptyDeclr)-happyReduce_296 = happySpecReduce_1 78# happyReduction_296-happyReduction_296 happy_x_1- = case happyOut86 happy_x_1 of- happy_var_1 -> happyIn85 (happy_var_1)-happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297-happyReduction_297- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut79 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- \ at declr ->- case happy_var_2 of- (params, variadic) -> funDeclr declr- (Right- (params, variadic))- []- at))- (\ r -> happyReturn (happyIn85 r))-happyReduce_298 = happySpecReduce_1 79# happyReduction_298-happyReduction_298 happy_x_1- = case happyOut87 happy_x_1 of- happy_var_1 -> happyIn86 (happy_var_1)-happyReduce_299 = happySpecReduce_2 79# happyReduction_299-happyReduction_299 happy_x_2 happy_x_1- = case happyOut86 happy_x_1 of- happy_var_1 -> case happyOut87 happy_x_2 of- happy_var_2 -> happyIn86 (\ decl -> happy_var_2 (happy_var_1 decl))-happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300-happyReduction_300- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut120 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- \ at declr ->- arrDeclr declr [] False False happy_var_2 at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301-happyReduction_301- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut120 happy_x_3 of- happy_var_3 -> (withAttributePF happy_var_1- happy_var_2- $- \ at declr ->- arrDeclr declr [] False False- happy_var_3- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302-happyReduction_302- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut120 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- \ at declr ->- arrDeclr declr- (reverse happy_var_2)- False- False- happy_var_3- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303-happyReduction_303- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut120 happy_x_4 of- happy_var_4 -> (withAttributePF- happy_var_1- happy_var_3- $- \ at declr ->- arrDeclr- declr- (reverse- happy_var_2)- False- False- happy_var_4- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304-happyReduction_304- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut115 happy_x_4 of- happy_var_4 -> (withAttributePF happy_var_1- happy_var_3- $- \ at declr ->- arrDeclr declr [] False True- (Just happy_var_4)- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305-happyReduction_305- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_3 of- happy_var_3 -> case happyOut126 happy_x_4 of- happy_var_4 -> case happyOut115 happy_x_5 of- happy_var_5 -> (withAttributePF- happy_var_1- happy_var_4- $- \ at declr ->- arrDeclr- declr- (reverse- happy_var_3)- False- True- (Just- happy_var_5)- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306-happyReduction_306- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> case happyOut126 happy_x_5 of- happy_var_5 -> case- happyOut115- happy_x_6- of- happy_var_6 -> (withAttributePF- happy_var_1- (happy_var_3- ++- happy_var_5)- $- \ at- declr- ->- arrDeclr- declr- (reverse- happy_var_2)- False- True- (Just- happy_var_6)- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307-happyReduction_307- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withAttributePF happy_var_1 happy_var_3 $- \ at declr ->- arrDeclr declr [] True False Nothing at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308-happyReduction_308- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_4 of- happy_var_4 -> (withAttributePF happy_var_1- (happy_var_2 ++ happy_var_4)- $- \ at declr ->- arrDeclr declr [] True False- Nothing- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309-happyReduction_309- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_4 of- happy_var_4 -> (withAttributePF happy_var_1- happy_var_4- $- \ at declr ->- arrDeclr declr- (reverse happy_var_2)- True- False- Nothing- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310-happyReduction_310- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut127 happy_x_3 of- happy_var_3 -> case happyOut126 happy_x_5 of- happy_var_5 -> (withAttributePF- happy_var_1- (happy_var_3- ++- happy_var_5)- $- \ at declr ->- arrDeclr- declr- (reverse- happy_var_2)- True- False- Nothing- at))- (\ r -> happyReturn (happyIn87 r))-happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311-happyReduction_311 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312-happyReduction_312- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut126 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_3- $- ptrDeclr emptyDeclr- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn88 r))-happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313-happyReduction_313- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut84 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_2 []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314-happyReduction_314- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut62 happy_x_2 of- happy_var_2 -> case happyOut84 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- ptrDeclr happy_var_3- (reverse happy_var_2)))- (\ r -> happyReturn (happyIn88 r))-happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315-happyReduction_315- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> (withAttribute happy_var_1 happy_var_2 $- ptrDeclr emptyDeclr []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316-happyReduction_316- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut84 happy_x_3 of- happy_var_3 -> (withAttribute happy_var_1- happy_var_2- $ ptrDeclr happy_var_3 []))- (\ r -> happyReturn (happyIn88 r))-happyReduce_317 = happySpecReduce_3 82# happyReduction_317-happyReduction_317 happy_x_3 happy_x_2 happy_x_1- = case happyOut88 happy_x_2 of- happy_var_2 -> happyIn89 (happy_var_2)-happyReduce_318 = happySpecReduce_3 82# happyReduction_318-happyReduction_318 happy_x_3 happy_x_2 happy_x_1- = case happyOut89 happy_x_2 of- happy_var_2 -> happyIn89 (happy_var_2)-happyReduce_319 = happySpecReduce_3 82# happyReduction_319-happyReduction_319 happy_x_3 happy_x_2 happy_x_1- = case happyOut85 happy_x_2 of- happy_var_2 -> happyIn89 (happy_var_2 emptyDeclr)-happyReduce_320 = happyReduce 4# 82# happyReduction_320-happyReduction_320- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut88 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_4 of- happy_var_4 -> happyIn89 (happy_var_4 happy_var_2) `HappyStk`- happyRest-happyReduce_321 = happyReduce 4# 82# happyReduction_321-happyReduction_321- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut88 happy_x_3 of- happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_322 = happyReduce 4# 82# happyReduction_322-happyReduction_322- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut89 happy_x_3 of- happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)- `HappyStk` happyRest-happyReduce_323 = happyReduce 4# 82# happyReduction_323-happyReduction_323- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut85 happy_x_3 of- happy_var_3 -> happyIn89- (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr))- `HappyStk` happyRest-happyReduce_324 = happyReduce 5# 82# happyReduction_324-happyReduction_324- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- = case happyOut127 happy_x_2 of- happy_var_2 -> case happyOut88 happy_x_3 of- happy_var_3 -> case happyOut85 happy_x_5 of- happy_var_5 -> happyIn89- (appendDeclrAttrs happy_var_2- (happy_var_5 happy_var_3))- `HappyStk` happyRest-happyReduce_325 = happySpecReduce_2 82# happyReduction_325-happyReduction_325 happy_x_2 happy_x_1- = case happyOut89 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_1)-happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326-happyReduction_326 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut115 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CInitExpr happy_var_1))- (\ r -> happyReturn (happyIn90 r))-happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327-happyReduction_327- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut92 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CInitList (reverse happy_var_2)))- (\ r -> happyReturn (happyIn90 r))-happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328-happyReduction_328- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut92 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CInitList (reverse happy_var_2)))- (\ r -> happyReturn (happyIn90 r))-happyReduce_329 = happySpecReduce_0 84# happyReduction_329-happyReduction_329 = happyIn91 (Nothing)-happyReduce_330 = happySpecReduce_2 84# happyReduction_330-happyReduction_330 happy_x_2 happy_x_1- = case happyOut90 happy_x_2 of- happy_var_2 -> happyIn91 (Just happy_var_2)-happyReduce_331 = happySpecReduce_0 85# happyReduction_331-happyReduction_331 = happyIn92 (empty)-happyReduce_332 = happySpecReduce_1 85# happyReduction_332-happyReduction_332 happy_x_1- = case happyOut90 happy_x_1 of- happy_var_1 -> happyIn92 (singleton ([], happy_var_1))-happyReduce_333 = happySpecReduce_2 85# happyReduction_333-happyReduction_333 happy_x_2 happy_x_1- = case happyOut93 happy_x_1 of- happy_var_1 -> case happyOut90 happy_x_2 of- happy_var_2 -> happyIn92 (singleton (happy_var_1, happy_var_2))-happyReduce_334 = happySpecReduce_3 85# happyReduction_334-happyReduction_334 happy_x_3 happy_x_2 happy_x_1- = case happyOut92 happy_x_1 of- happy_var_1 -> case happyOut90 happy_x_3 of- happy_var_3 -> happyIn92 (happy_var_1 `snoc` ([], happy_var_3))-happyReduce_335 = happyReduce 4# 85# happyReduction_335-happyReduction_335- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- = case happyOut92 happy_x_1 of- happy_var_1 -> case happyOut93 happy_x_3 of- happy_var_3 -> case happyOut90 happy_x_4 of- happy_var_4 -> happyIn92- (happy_var_1 `snoc`- (happy_var_3, happy_var_4))- `HappyStk` happyRest-happyReduce_336 = happySpecReduce_2 86# happyReduction_336-happyReduction_336 happy_x_2 happy_x_1- = case happyOut94 happy_x_1 of- happy_var_1 -> happyIn93 (reverse happy_var_1)-happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337-happyReduction_337- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut125 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- \ at -> [CMemberDesig happy_var_1 at]))- (\ r -> happyReturn (happyIn93 r))-happyReduce_338 = happySpecReduce_1 86# happyReduction_338-happyReduction_338 happy_x_1- = case happyOut96 happy_x_1 of- happy_var_1 -> happyIn93 ([happy_var_1])-happyReduce_339 = happySpecReduce_1 87# happyReduction_339-happyReduction_339 happy_x_1- = case happyOut95 happy_x_1 of- happy_var_1 -> happyIn94 (singleton happy_var_1)-happyReduce_340 = happySpecReduce_2 87# happyReduction_340-happyReduction_340 happy_x_2 happy_x_1- = case happyOut94 happy_x_1 of- happy_var_1 -> case happyOut95 happy_x_2 of- happy_var_2 -> happyIn94 (happy_var_1 `snoc` happy_var_2)-happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341-happyReduction_341- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CArrDesig happy_var_2))- (\ r -> happyReturn (happyIn95 r))-happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342-happyReduction_342- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CMemberDesig happy_var_2))- (\ r -> happyReturn (happyIn95 r))-happyReduce_343 = happySpecReduce_1 88# happyReduction_343-happyReduction_343 happy_x_1- = case happyOut96 happy_x_1 of- happy_var_1 -> happyIn95 (happy_var_1)-happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344-happyReduction_344- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_2 of- happy_var_2 -> case happyOut121 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CRangeDesig happy_var_2- happy_var_4))- (\ r -> happyReturn (happyIn96 r))-happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345-happyReduction_345 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- CVar happy_var_1))- (\ r -> happyReturn (happyIn97 r))-happyReduce_346 = happySpecReduce_1 90# happyReduction_346-happyReduction_346 happy_x_1- = case happyOut122 happy_x_1 of- happy_var_1 -> happyIn97 (CConst happy_var_1)-happyReduce_347 = happySpecReduce_1 90# happyReduction_347-happyReduction_347 happy_x_1- = case happyOut123 happy_x_1 of- happy_var_1 -> happyIn97 (CConst (liftStrLit happy_var_1))-happyReduce_348 = happySpecReduce_3 90# happyReduction_348-happyReduction_348 happy_x_3 happy_x_2 happy_x_1- = case happyOut117 happy_x_2 of- happy_var_2 -> happyIn97 (happy_var_2)-happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349-happyReduction_349- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut14 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $ CStatExpr happy_var_2))- (\ r -> happyReturn (happyIn97 r))-happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350-happyReduction_350- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut115 happy_x_3 of- happy_var_3 -> case happyOut83 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CBuiltinExpr .- CBuiltinVaArg happy_var_3- happy_var_5))- (\ r -> happyReturn (happyIn97 r))-happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351-happyReduction_351- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> case happyOut98 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CBuiltinExpr .- CBuiltinOffsetOf happy_var_3- (reverse happy_var_5)))- (\ r -> happyReturn (happyIn97 r))-happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352-happyReduction_352- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> case happyOut83 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CBuiltinExpr .- CBuiltinTypesCompatible- happy_var_3- happy_var_5))- (\ r -> happyReturn (happyIn97 r))-happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353-happyReduction_353 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOut125 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- singleton . CMemberDesig happy_var_1))- (\ r -> happyReturn (happyIn98 r))-happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354-happyReduction_354- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut98 happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_3 $- (happy_var_1 `snoc`) . CMemberDesig happy_var_3))- (\ r -> happyReturn (happyIn98 r))-happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355-happyReduction_355- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut98 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_3 $- (happy_var_1 `snoc`) . CArrDesig happy_var_3))- (\ r -> happyReturn (happyIn98 r))-happyReduce_356 = happySpecReduce_1 92# happyReduction_356-happyReduction_356 happy_x_1- = case happyOut97 happy_x_1 of- happy_var_1 -> happyIn99 (happy_var_1)-happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357-happyReduction_357- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CIndex happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn99 r))-happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358-happyReduction_358- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $ CCall happy_var_1 []))- (\ r -> happyReturn (happyIn99 r))-happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359-happyReduction_359- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut100 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CCall happy_var_1 (reverse happy_var_3)))- (\ r -> happyReturn (happyIn99 r))-happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360-happyReduction_360- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CMember happy_var_1 happy_var_3 False))- (\ r -> happyReturn (happyIn99 r))-happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361-happyReduction_361- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CMember happy_var_1 happy_var_3 True))- (\ r -> happyReturn (happyIn99 r))-happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362-happyReduction_362- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CUnary CPostIncOp happy_var_1))- (\ r -> happyReturn (happyIn99 r))-happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363-happyReduction_363- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut99 happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- CUnary CPostDecOp happy_var_1))- (\ r -> happyReturn (happyIn99 r))-happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364-happyReduction_364- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_2 of- happy_var_2 -> case happyOut92 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CCompoundLit happy_var_2- (reverse happy_var_5)))- (\ r -> happyReturn (happyIn99 r))-happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365-happyReduction_365- (happy_x_7 `HappyStk`- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_2 of- happy_var_2 -> case happyOut92 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CCompoundLit happy_var_2- (reverse happy_var_5)))- (\ r -> happyReturn (happyIn99 r))-happyReduce_366 = happySpecReduce_1 93# happyReduction_366-happyReduction_366 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn100 (singleton happy_var_1)-happyReduce_367 = happySpecReduce_3 93# happyReduction_367-happyReduction_367 happy_x_3 happy_x_2 happy_x_1- = case happyOut100 happy_x_1 of- happy_var_1 -> case happyOut115 happy_x_3 of- happy_var_3 -> happyIn100 (happy_var_1 `snoc` happy_var_3)-happyReduce_368 = happySpecReduce_1 94# happyReduction_368-happyReduction_368 happy_x_1- = case happyOut99 happy_x_1 of- happy_var_1 -> happyIn101 (happy_var_1)-happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369-happyReduction_369- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CUnary CPreIncOp happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370-happyReduction_370- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CUnary CPreDecOp happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_371 = happySpecReduce_2 94# happyReduction_371-happyReduction_371 happy_x_2 happy_x_1- = case happyOut103 happy_x_2 of- happy_var_2 -> happyIn101 (happy_var_2)-happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372-happyReduction_372- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOut102 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CUnary (unL happy_var_1) happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373-happyReduction_373- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CSizeofExpr happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_374 = happyMonadReduce 4# 94# happyReduction_374-happyReduction_374- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CSizeofType happy_var_3))- (\ r -> happyReturn (happyIn101 r))-happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375-happyReduction_375- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CAlignofExpr happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376-happyReduction_376- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CAlignofType happy_var_3))- (\ r -> happyReturn (happyIn101 r))-happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377-happyReduction_377- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CComplexReal happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378-happyReduction_378- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut101 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CComplexImag happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379-happyReduction_379- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut125 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- CLabAddrExpr happy_var_2))- (\ r -> happyReturn (happyIn101 r))-happyReduce_380 = happySpecReduce_1 95# happyReduction_380-happyReduction_380 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CAdrOp (posOf happy_var_1))-happyReduce_381 = happySpecReduce_1 95# happyReduction_381-happyReduction_381 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CIndOp (posOf happy_var_1))-happyReduce_382 = happySpecReduce_1 95# happyReduction_382-happyReduction_382 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CPlusOp (posOf happy_var_1))-happyReduce_383 = happySpecReduce_1 95# happyReduction_383-happyReduction_383 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CMinOp (posOf happy_var_1))-happyReduce_384 = happySpecReduce_1 95# happyReduction_384-happyReduction_384 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CCompOp (posOf happy_var_1))-happyReduce_385 = happySpecReduce_1 95# happyReduction_385-happyReduction_385 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn102 (L CNegOp (posOf happy_var_1))-happyReduce_386 = happySpecReduce_1 96# happyReduction_386-happyReduction_386 happy_x_1- = case happyOut101 happy_x_1 of- happy_var_1 -> happyIn103 (happy_var_1)-happyReduce_387 = happyMonadReduce 4# 96# happyReduction_387-happyReduction_387- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut83 happy_x_2 of- happy_var_2 -> case happyOut103 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCast happy_var_2 happy_var_4))- (\ r -> happyReturn (happyIn103 r))-happyReduce_388 = happySpecReduce_1 97# happyReduction_388-happyReduction_388 happy_x_1- = case happyOut103 happy_x_1 of- happy_var_1 -> happyIn104 (happy_var_1)-happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389-happyReduction_389- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut104 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CMulOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn104 r))-happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390-happyReduction_390- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut104 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CDivOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn104 r))-happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391-happyReduction_391- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut104 happy_x_1 of- happy_var_1 -> case happyOut103 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CRmdOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn104 r))-happyReduce_392 = happySpecReduce_1 98# happyReduction_392-happyReduction_392 happy_x_1- = case happyOut104 happy_x_1 of- happy_var_1 -> happyIn105 (happy_var_1)-happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393-happyReduction_393- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut105 happy_x_1 of- happy_var_1 -> case happyOut104 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CAddOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn105 r))-happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394-happyReduction_394- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut105 happy_x_1 of- happy_var_1 -> case happyOut104 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CSubOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn105 r))-happyReduce_395 = happySpecReduce_1 99# happyReduction_395-happyReduction_395 happy_x_1- = case happyOut105 happy_x_1 of- happy_var_1 -> happyIn106 (happy_var_1)-happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396-happyReduction_396- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut106 happy_x_1 of- happy_var_1 -> case happyOut105 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CShlOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn106 r))-happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397-happyReduction_397- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut106 happy_x_1 of- happy_var_1 -> case happyOut105 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CShrOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn106 r))-happyReduce_398 = happySpecReduce_1 100# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut106 happy_x_1 of- happy_var_1 -> happyIn107 (happy_var_1)-happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399-happyReduction_399- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLeOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400-happyReduction_400- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CGrOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401-happyReduction_401- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLeqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402-happyReduction_402- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut107 happy_x_1 of- happy_var_1 -> case happyOut106 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CGeqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn107 r))-happyReduce_403 = happySpecReduce_1 101# happyReduction_403-happyReduction_403 happy_x_1- = case happyOut107 happy_x_1 of- happy_var_1 -> happyIn108 (happy_var_1)-happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404-happyReduction_404- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut108 happy_x_1 of- happy_var_1 -> case happyOut107 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CEqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn108 r))-happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405-happyReduction_405- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut108 happy_x_1 of- happy_var_1 -> case happyOut107 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CNeqOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn108 r))-happyReduce_406 = happySpecReduce_1 102# happyReduction_406-happyReduction_406 happy_x_1- = case happyOut108 happy_x_1 of- happy_var_1 -> happyIn109 (happy_var_1)-happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407-happyReduction_407- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut109 happy_x_1 of- happy_var_1 -> case happyOut108 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CAndOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn109 r))-happyReduce_408 = happySpecReduce_1 103# happyReduction_408-happyReduction_408 happy_x_1- = case happyOut109 happy_x_1 of- happy_var_1 -> happyIn110 (happy_var_1)-happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409-happyReduction_409- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut110 happy_x_1 of- happy_var_1 -> case happyOut109 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CXorOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn110 r))-happyReduce_410 = happySpecReduce_1 104# happyReduction_410-happyReduction_410 happy_x_1- = case happyOut110 happy_x_1 of- happy_var_1 -> happyIn111 (happy_var_1)-happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411-happyReduction_411- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut111 happy_x_1 of- happy_var_1 -> case happyOut110 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary COrOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn111 r))-happyReduce_412 = happySpecReduce_1 105# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut111 happy_x_1 of- happy_var_1 -> happyIn112 (happy_var_1)-happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413-happyReduction_413- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut112 happy_x_1 of- happy_var_1 -> case happyOut111 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLndOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn112 r))-happyReduce_414 = happySpecReduce_1 106# happyReduction_414-happyReduction_414 happy_x_1- = case happyOut112 happy_x_1 of- happy_var_1 -> happyIn113 (happy_var_1)-happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415-happyReduction_415- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut113 happy_x_1 of- happy_var_1 -> case happyOut112 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CBinary CLorOp happy_var_1 happy_var_3))- (\ r -> happyReturn (happyIn113 r))-happyReduce_416 = happySpecReduce_1 107# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut113 happy_x_1 of- happy_var_1 -> happyIn114 (happy_var_1)-happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417-happyReduction_417- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))- tk- = happyThen- (case happyOut113 happy_x_1 of- happy_var_1 -> case happyOut117 happy_x_3 of- happy_var_3 -> case happyOut114 happy_x_5 of- happy_var_5 -> (withNodeInfo happy_var_1 $- CCond happy_var_1- (Just happy_var_3)- happy_var_5))- (\ r -> happyReturn (happyIn114 r))-happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418-happyReduction_418- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOut113 happy_x_1 of- happy_var_1 -> case happyOut114 happy_x_4 of- happy_var_4 -> (withNodeInfo happy_var_1 $- CCond happy_var_1 Nothing happy_var_4))- (\ r -> happyReturn (happyIn114 r))-happyReduce_419 = happySpecReduce_1 108# happyReduction_419-happyReduction_419 happy_x_1- = case happyOut114 happy_x_1 of- happy_var_1 -> happyIn115 (happy_var_1)-happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420-happyReduction_420- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut101 happy_x_1 of- happy_var_1 -> case happyOut116 happy_x_2 of- happy_var_2 -> case happyOut115 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- CAssign (unL happy_var_2)- happy_var_1- happy_var_3))- (\ r -> happyReturn (happyIn115 r))-happyReduce_421 = happySpecReduce_1 109# happyReduction_421-happyReduction_421 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CAssignOp (posOf happy_var_1))-happyReduce_422 = happySpecReduce_1 109# happyReduction_422-happyReduction_422 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CMulAssOp (posOf happy_var_1))-happyReduce_423 = happySpecReduce_1 109# happyReduction_423-happyReduction_423 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CDivAssOp (posOf happy_var_1))-happyReduce_424 = happySpecReduce_1 109# happyReduction_424-happyReduction_424 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CRmdAssOp (posOf happy_var_1))-happyReduce_425 = happySpecReduce_1 109# happyReduction_425-happyReduction_425 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CAddAssOp (posOf happy_var_1))-happyReduce_426 = happySpecReduce_1 109# happyReduction_426-happyReduction_426 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CSubAssOp (posOf happy_var_1))-happyReduce_427 = happySpecReduce_1 109# happyReduction_427-happyReduction_427 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CShlAssOp (posOf happy_var_1))-happyReduce_428 = happySpecReduce_1 109# happyReduction_428-happyReduction_428 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CShrAssOp (posOf happy_var_1))-happyReduce_429 = happySpecReduce_1 109# happyReduction_429-happyReduction_429 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CAndAssOp (posOf happy_var_1))-happyReduce_430 = happySpecReduce_1 109# happyReduction_430-happyReduction_430 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L CXorAssOp (posOf happy_var_1))-happyReduce_431 = happySpecReduce_1 109# happyReduction_431-happyReduction_431 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn116 (L COrAssOp (posOf happy_var_1))-happyReduce_432 = happySpecReduce_1 110# happyReduction_432-happyReduction_432 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn117 (happy_var_1)-happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433-happyReduction_433- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOut115 happy_x_1 of- happy_var_1 -> case happyOut118 happy_x_3 of- happy_var_3 -> (let es = reverse happy_var_3 in- withNodeInfo es $ CComma (happy_var_1 : es)))- (\ r -> happyReturn (happyIn117 r))-happyReduce_434 = happySpecReduce_1 111# happyReduction_434-happyReduction_434 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn118 (singleton happy_var_1)-happyReduce_435 = happySpecReduce_3 111# happyReduction_435-happyReduction_435 happy_x_3 happy_x_2 happy_x_1- = case happyOut118 happy_x_1 of- happy_var_1 -> case happyOut115 happy_x_3 of- happy_var_3 -> happyIn118 (happy_var_1 `snoc` happy_var_3)-happyReduce_436 = happySpecReduce_0 112# happyReduction_436-happyReduction_436 = happyIn119 (Nothing)-happyReduce_437 = happySpecReduce_1 112# happyReduction_437-happyReduction_437 happy_x_1- = case happyOut117 happy_x_1 of- happy_var_1 -> happyIn119 (Just happy_var_1)-happyReduce_438 = happySpecReduce_0 113# happyReduction_438-happyReduction_438 = happyIn120 (Nothing)-happyReduce_439 = happySpecReduce_1 113# happyReduction_439-happyReduction_439 happy_x_1- = case happyOut115 happy_x_1 of- happy_var_1 -> happyIn120 (Just happy_var_1)-happyReduce_440 = happySpecReduce_1 114# happyReduction_440-happyReduction_440 happy_x_1- = case happyOut114 happy_x_1 of- happy_var_1 -> happyIn121 (happy_var_1)-happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441-happyReduction_441 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokILit _ i -> CIntConst i))- (\ r -> happyReturn (happyIn122 r))-happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442-happyReduction_442 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokCLit _ c -> CCharConst c))- (\ r -> happyReturn (happyIn122 r))-happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443-happyReduction_443 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokFLit _ f -> CFloatConst f))- (\ r -> happyReturn (happyIn122 r))-happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444-happyReduction_444 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokSLit _ s -> CStrLit s))- (\ r -> happyReturn (happyIn123 r))-happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445-happyReduction_445- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> case happyOut124 happy_x_2 of- happy_var_2 -> (withNodeInfo happy_var_1 $- case happy_var_1 of- CTokSLit _ s -> CStrLit- (concatCStrings- (s :- reverse happy_var_2))))- (\ r -> happyReturn (happyIn123 r))-happyReduce_446 = happySpecReduce_1 117# happyReduction_446-happyReduction_446 happy_x_1- = case happyOutTok happy_x_1 of- happy_var_1 -> happyIn124- (case happy_var_1 of- CTokSLit _ s -> singleton s)-happyReduce_447 = happySpecReduce_2 117# happyReduction_447-happyReduction_447 happy_x_2 happy_x_1- = case happyOut124 happy_x_1 of- happy_var_1 -> case happyOutTok happy_x_2 of- happy_var_2 -> happyIn124- (case happy_var_2 of- CTokSLit _ s -> happy_var_1 `snoc` s)-happyReduce_448 = happySpecReduce_1 118# happyReduction_448-happyReduction_448 happy_x_1- = case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> happyIn125 (happy_var_1)-happyReduce_449 = happySpecReduce_1 118# happyReduction_449-happyReduction_449 happy_x_1- = case happyOutTok happy_x_1 of- (CTokTyIdent _ happy_var_1) -> happyIn125 (happy_var_1)-happyReduce_450 = happySpecReduce_0 119# happyReduction_450-happyReduction_450 = happyIn126 ([])-happyReduce_451 = happySpecReduce_1 119# happyReduction_451-happyReduction_451 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> happyIn126 (happy_var_1)-happyReduce_452 = happySpecReduce_1 120# happyReduction_452-happyReduction_452 happy_x_1- = case happyOut128 happy_x_1 of- happy_var_1 -> happyIn127 (happy_var_1)-happyReduce_453 = happySpecReduce_2 120# happyReduction_453-happyReduction_453 happy_x_2 happy_x_1- = case happyOut127 happy_x_1 of- happy_var_1 -> case happyOut128 happy_x_2 of- happy_var_2 -> happyIn127 (happy_var_1 ++ happy_var_2)-happyReduce_454 = happyReduce 6# 121# happyReduction_454-happyReduction_454- (happy_x_6 `HappyStk`- (happy_x_5 `HappyStk`- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))))- = case happyOut129 happy_x_4 of- happy_var_4 -> happyIn128 (reverse happy_var_4) `HappyStk`- happyRest-happyReduce_455 = happySpecReduce_1 122# happyReduction_455-happyReduction_455 happy_x_1- = case happyOut130 happy_x_1 of- happy_var_1 -> happyIn129- (case happy_var_1 of- Nothing -> empty- Just attr -> singleton attr)-happyReduce_456 = happySpecReduce_3 122# happyReduction_456-happyReduction_456 happy_x_3 happy_x_2 happy_x_1- = case happyOut129 happy_x_1 of- happy_var_1 -> case happyOut130 happy_x_3 of- happy_var_3 -> happyIn129- ((maybe id (flip snoc) happy_var_3) happy_var_1)-happyReduce_457 = happySpecReduce_0 123# happyReduction_457-happyReduction_457 = happyIn130 (Nothing)-happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458-happyReduction_458 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- Just . CAttr happy_var_1 []))- (\ r -> happyReturn (happyIn130 r))-happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459-happyReduction_459 (happy_x_1 `HappyStk` happyRest) tk- = happyThen- (case happyOutTok happy_x_1 of- happy_var_1 -> (withNodeInfo happy_var_1 $- Just . CAttr (internalIdent "const") []))- (\ r -> happyReturn (happyIn130 r))-happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460-happyReduction_460- (happy_x_4 `HappyStk`- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))- tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> case happyOut131 happy_x_3 of- happy_var_3 -> (withNodeInfo happy_var_1 $- Just .- CAttr happy_var_1- (reverse happy_var_3)))- (\ r -> happyReturn (happyIn130 r))-happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461-happyReduction_461- (happy_x_3 `HappyStk`- (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))- tk- = happyThen- (case happyOutTok happy_x_1 of- (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $- Just . CAttr happy_var_1 []))- (\ r -> happyReturn (happyIn130 r))-happyReduce_462 = happySpecReduce_1 124# happyReduction_462-happyReduction_462 happy_x_1- = case happyOut121 happy_x_1 of- happy_var_1 -> happyIn131 (singleton happy_var_1)-happyReduce_463 = happySpecReduce_3 124# happyReduction_463-happyReduction_463 happy_x_3 happy_x_2 happy_x_1- = case happyOut131 happy_x_1 of- happy_var_1 -> case happyOut121 happy_x_3 of- happy_var_3 -> happyIn131 (happy_var_1 `snoc` happy_var_3)-happyNewToken action sts stk- = lexC- (\ tk ->- let cont i = happyDoAction i tk action sts stk in- case tk of- CTokEof -> happyDoAction 101# tk action sts stk- CTokLParen _ -> cont 1#- CTokRParen _ -> cont 2#- CTokLBracket _ -> cont 3#- CTokRBracket _ -> cont 4#- CTokArrow _ -> cont 5#- CTokDot _ -> cont 6#- CTokExclam _ -> cont 7#- CTokTilde _ -> cont 8#- CTokInc _ -> cont 9#- CTokDec _ -> cont 10#- CTokPlus _ -> cont 11#- CTokMinus _ -> cont 12#- CTokStar _ -> cont 13#- CTokSlash _ -> cont 14#- CTokPercent _ -> cont 15#- CTokAmper _ -> cont 16#- CTokShiftL _ -> cont 17#- CTokShiftR _ -> cont 18#- CTokLess _ -> cont 19#- CTokLessEq _ -> cont 20#- CTokHigh _ -> cont 21#- CTokHighEq _ -> cont 22#- CTokEqual _ -> cont 23#- CTokUnequal _ -> cont 24#- CTokHat _ -> cont 25#- CTokBar _ -> cont 26#- CTokAnd _ -> cont 27#- CTokOr _ -> cont 28#- CTokQuest _ -> cont 29#- CTokColon _ -> cont 30#- CTokAssign _ -> cont 31#- CTokPlusAss _ -> cont 32#- CTokMinusAss _ -> cont 33#- CTokStarAss _ -> cont 34#- CTokSlashAss _ -> cont 35#- CTokPercAss _ -> cont 36#- CTokAmpAss _ -> cont 37#- CTokHatAss _ -> cont 38#- CTokBarAss _ -> cont 39#- CTokSLAss _ -> cont 40#- CTokSRAss _ -> cont 41#- CTokComma _ -> cont 42#- CTokSemic _ -> cont 43#- CTokLBrace _ -> cont 44#- CTokRBrace _ -> cont 45#- CTokEllipsis _ -> cont 46#- CTokAlignof _ -> cont 47#- CTokAsm _ -> cont 48#- CTokAuto _ -> cont 49#- CTokBreak _ -> cont 50#- CTokBool _ -> cont 51#- CTokCase _ -> cont 52#- CTokChar _ -> cont 53#- CTokConst _ -> cont 54#- CTokContinue _ -> cont 55#- CTokComplex _ -> cont 56#- CTokDefault _ -> cont 57#- CTokDo _ -> cont 58#- CTokDouble _ -> cont 59#- CTokElse _ -> cont 60#- CTokEnum _ -> cont 61#- CTokExtern _ -> cont 62#- CTokFloat _ -> cont 63#- CTokFor _ -> cont 64#- CTokGoto _ -> cont 65#- CTokIf _ -> cont 66#- CTokInline _ -> cont 67#- CTokInt _ -> cont 68#- CTokLong _ -> cont 69#- CTokLabel _ -> cont 70#- CTokRegister _ -> cont 71#- CTokRestrict _ -> cont 72#- CTokReturn _ -> cont 73#- CTokShort _ -> cont 74#- CTokSigned _ -> cont 75#- CTokSizeof _ -> cont 76#- CTokStatic _ -> cont 77#- CTokStruct _ -> cont 78#- CTokSwitch _ -> cont 79#- CTokTypedef _ -> cont 80#- CTokTypeof _ -> cont 81#- CTokThread _ -> cont 82#- CTokUnion _ -> cont 83#- CTokUnsigned _ -> cont 84#- CTokVoid _ -> cont 85#- CTokVolatile _ -> cont 86#- CTokWhile _ -> cont 87#- CTokCLit _ _ -> cont 88#- CTokILit _ _ -> cont 89#- CTokFLit _ _ -> cont 90#- CTokSLit _ _ -> cont 91#- CTokIdent _ happy_dollar_dollar -> cont 92#- CTokTyIdent _ happy_dollar_dollar -> cont 93#- CTokGnuC GnuCAttrTok _ -> cont 94#- CTokGnuC GnuCExtTok _ -> cont 95#- CTokGnuC GnuCComplexReal _ -> cont 96#- CTokGnuC GnuCComplexImag _ -> cont 97#- CTokGnuC GnuCVaArg _ -> cont 98#- CTokGnuC GnuCOffsetof _ -> cont 99#- CTokGnuC GnuCTyCompat _ -> cont 100#- _ -> happyError' tk)-happyError_ tk = happyError' tk--happyThen :: P a -> (a -> P b) -> P b-happyThen = (>>=)--happyReturn :: a -> P a-happyReturn = (return)-happyThen1 = happyThen--happyReturn1 :: a -> P a-happyReturn1 = happyReturn--happyError' :: CToken -> P a-happyError' tk = (\ token -> happyError) tk-translation_unit = happySomeParser- where happySomeParser- = happyThen (happyParse 0#) (\ x -> happyReturn (happyOut7 x))-external_declaration = happySomeParser- where happySomeParser- = happyThen (happyParse 1#) (\ x -> happyReturn (happyOut9 x))-statement = happySomeParser- where happySomeParser- = happyThen (happyParse 2#) (\ x -> happyReturn (happyOut12 x))-expression = happySomeParser- where happySomeParser- = happyThen (happyParse 3#) (\ x -> happyReturn (happyOut117 x))-happySeq = happyDontSeq--reverseList :: [a] -> Reversed [a]-reverseList = Reversed . List.reverse--data Located a = L !a !Position--unL :: Located a -> a-unL (L a pos) = a--instance Pos (Located a) where- posOf (L _ pos) = pos--{-# INLINE withNodeInfo #-}--withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a-withNodeInfo node mkAttrNode- = do name <- getNewName- lastTok <- getSavedToken- let firstPos = posOf node- let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name- attrs `seq` return (mkAttrNode attrs)--{-# INLINE withLength #-}--withLength :: NodeInfo -> (NodeInfo -> a) -> P a-withLength nodeinfo mkAttrNode- = do lastTok <- getSavedToken- let firstPos = posOfNode nodeinfo- let attrs- = mkNodeInfo' firstPos (posLenOfTok $! lastTok)- (maybe (error "nameOfNode") id (nameOfNode nodeinfo))- attrs `seq` return (mkAttrNode attrs)--data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr])- (Maybe CStrLit) [CAttr] NodeInfo--reverseDeclr :: CDeclrR -> CDeclr-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)- = CDeclr ide (reverse reversedDDs) asmname cattrs at--instance CNode (CDeclrR) where- nodeInfo (CDeclrR _ _ _ _ n) = n--instance Pos (CDeclrR) where- posOf (CDeclrR _ _ _ _ n) = posOf n--{-# INLINE withAttribute #-}--withAttribute ::- Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR-withAttribute node cattrs mkDeclrNode- = do name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs- attrs `seq` newDeclr `seq` return newDeclr--{-# INLINE withAttributePF #-}--withAttributePF ::- Pos node =>- node ->- [CAttr] ->- (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)-withAttributePF node cattrs mkDeclrCtor- = do name <- getNewName- let attrs = mkNodeInfo (posOf node) name- let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs- attrs `seq` newDeclr `seq` return newDeclr--appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr-appendObjAttrs newAttrs- (CDeclr ident indirections asmname cAttrs at)- = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at--appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR-appendObjAttrsR newAttrs- (CDeclrR ident indirections asmname cAttrs at)- = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at--setAsmName :: Maybe CStrLit -> CDeclrR -> P CDeclrR-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at)- = case combineName mAsmName oldName of- Left (n1, n2) -> failP (posOf n2)- ["Duplicate assembler name: ", showName n1, showName n2]- Right newName -> return $- CDeclrR ident indirections newName cattrs at- where combineName Nothing Nothing = Right Nothing- combineName Nothing oldname@(Just _) = Right oldname- combineName newname@(Just _) Nothing = Right newname- combineName (Just n1) (Just n2) = Left (n1, n2)- showName (CStrLit cstr _) = show cstr--withAsmNameAttrs ::- (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR-withAsmNameAttrs (mAsmName, newAttrs) declr- = setAsmName mAsmName (appendObjAttrsR newAttrs declr)--appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR-appendDeclrAttrs newAttrs- (CDeclrR ident (Reversed []) asmname cattrs at)- = CDeclrR ident empty asmname (cattrs ++ newAttrs) at-appendDeclrAttrs newAttrs- (CDeclrR ident (Reversed (x : xs)) asmname cattrs at)- = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at- where appendAttrs (CPtrDeclr typeQuals at)- = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at- appendAttrs (CArrDeclr typeQuals arraySize at)- = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at- appendAttrs (CFunDeclr parameters cattrs at)- = CFunDeclr parameters (cattrs ++ newAttrs) at--ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals- at- = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname- cattrs- dat--funDeclr ::- CDeclrR ->- (Either [Ident] ([CDecl], Bool)) -> [CAttr] -> NodeInfo -> CDeclrR-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params- cattrs at- = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at)- asmname- dcattrs- dat--arrDeclr ::- CDeclrR ->- [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals- var_sized static_size size_expr_opt at- = arr_sz `seq`- (CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at)- asmname- cattrs- dat)- where arr_sz- = case size_expr_opt of- Just e -> CArrSize static_size e- Nothing -> CNoArrSize var_sized--liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]-liftTypeQuals = map CTypeQual . reverse--liftCAttrs :: [CAttr] -> [CDeclSpec]-liftCAttrs = map (CTypeQual . CAttrQual)--addTrailingAttrs ::- Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]-addTrailingAttrs declspecs new_attrs- = case viewr declspecs of- (specs_init,- CTypeSpec- (CSUType (CStruct tag name (Just def) def_attrs su_node)- node)) -> (specs_init `snoc`- CTypeSpec- (CSUType- (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node)- node))- (specs_init,- CTypeSpec- (CEnumType (CEnum name (Just def) def_attrs e_node)- node)) -> (specs_init `snoc`- CTypeSpec- (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node)- node))- _ -> declspecs `rappend` (liftCAttrs new_attrs)--instance Pos a => Pos [a] where- posOf (x : _) = posOf x--instance Pos a => Pos (Reversed a) where- posOf (Reversed x) = posOf x--emptyDeclr :: CDeclrR-emptyDeclr = CDeclrR Nothing empty Nothing [] undefNode--mkVarDeclr :: Ident -> NodeInfo -> CDeclrR-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []--doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _)- = case mIdent of- Nothing -> return ()- Just ident | any iypedef declspecs -> addTypedef ident- | otherwise -> shadowTypedef ident- where iypedef (CStorageSpec (CTypedef _)) = True- iypedef _ = False--doFuncParamDeclIdent :: CDeclr -> P ()-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _)- = sequence_- [case getCDeclrIdent declr of- Nothing -> return ()- Just ident -> shadowTypedef ident- | CDecl _ dle _ <- either (const []) fst params,- (Just declr, _, _) <- dle]-doFuncParamDeclIdent _ = return ()--getCDeclrIdent :: CDeclr -> Maybe Ident-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent--happyError :: P a-happyError = parseError--parseC :: InputStream -> Position -> Either ParseError CTranslUnit-parseC input initialPosition- = fmap fst $- execParser translUnitP input initialPosition builtinTypeNames- (namesStartingFrom 0)--translUnitP :: P CTranslUnit-translUnitP = translation_unit--extDeclP :: P CExtDecl-extDeclP = external_declaration--statementP :: P CStat-statementP = statement--expressionP :: P CExpr-expressionP = expression--data Happy_IntList = HappyCons Int# Happy_IntList--infixr 9 `HappyStk`--data HappyStk a = HappyStk a (HappyStk a)-happyParse start_state- = happyNewToken start_state notHappyAtAll notHappyAtAll-happyAccept 0# tk st sts (_ `HappyStk` (ans `HappyStk` _))- = happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _)- = (happyTcHack j (happyTcHack st)) (happyReturn1 ans)-happyDoAction i tk st- = case action of- 0# -> happyFail i tk st- -1# -> happyAccept i tk st- n | (n <# (0# :: Int#)) -> (happyReduceArr ! rule) i tk st- where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))- n -> happyShift new_state i tk st- where new_state = (n -# (1# :: Int#))- where off = indexShortOffAddr happyActOffsets st- off_i = (off +# i)- check- = if (off_i >=# (0# :: Int#)) then- (indexShortOffAddr happyCheck off_i ==# i) else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st-indexShortOffAddr (HappyA# arr) off- = narrow16Int# i intToInt16# i (i `iShiftL#` 16#) `iShiftRA#` 16#- where i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- i = word2Int# ((high `shiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#--data HappyAddr = HappyA# Addr#-happyShift new_state 0# tk st sts stk@(x `HappyStk` _)- = let i = (case unsafeCoerce# x of- (I# (i)) -> i)- in happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)-happyShift new_state i tk st sts stk- = happyNewToken new_state (HappyCons (st) (sts))- ((happyInTok (tk)) `HappyStk` stk)-happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)-happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_)))- (v1 `HappyStk` stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _- (HappyCons (_) (sts@((HappyCons (st@(action)) (_)))))- (v1 `HappyStk` (v2 `HappyStk` stk'))- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _- (HappyCons (_)- ((HappyCons (_) (sts@((HappyCons (st@(action)) (_)))))))- (v1 `HappyStk` (v2 `HappyStk` (v3 `HappyStk` stk')))- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))-happyReduce k i fn 0# tk st sts stk = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k -# (1# :: Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) -> let r = fn stk in- happyDoSeq r (happyGoto nt j tk st1 sts1 r)-happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk- = happyThen1 (fn stk tk)- (\ r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_)))- = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk-happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk- = happyThen1 (fn stk tk)- (\ r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))- where sts1@((HappyCons (st1@(action)) (_)))- = happyDrop k (HappyCons (st) (sts))- drop_stk = happyDropStk k stk- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i-happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t-happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs)- = happyDropStk (n -# (1# :: Int#)) xs-happyGoto nt j tk st = happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off +# nt)- new_state = indexShortOffAddr happyTable off_i-happyFail 0# tk old_st _ stk = happyError_ tk-happyFail i tk (action) sts stk- = happyDoAction 0# tk action sts- ((unsafeCoerce# (I# (i))) `HappyStk` stk)-notHappyAtAll = error "Internal Happy error\n"--happyTcHack :: Int# -> a -> a-happyTcHack x y = y--{-# INLINE happyTcHack #-}--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b--{-# NOINLINE happyDoAction #-}--{-# NOINLINE happyTable #-}--{-# NOINLINE happyCheck #-}--{-# NOINLINE happyActOffsets #-}--{-# NOINLINE happyGotoOffsets #-}--{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}--{-# NOINLINE happySpecReduce_0 #-}--{-# NOINLINE happySpecReduce_1 #-}--{-# NOINLINE happySpecReduce_2 #-}--{-# NOINLINE happySpecReduce_3 #-}--{-# NOINLINE happyReduce #-}--{-# NOINLINE happyMonadReduce #-}--{-# NOINLINE happyGoto #-}--{-# NOINLINE happyFail #-}
tests/examples/ClassContext.hs.parser.golden view
@@ -40,67 +40,80 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20 , srcInfoPoints = [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- "Ord"))- [ TyParen- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17- , srcInfoPoints =- [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11- , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17- ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12- , srcInfoPoints = []- }- "i"))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16- , srcInfoPoints = []- }- "Int"))))- ])))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ "Ord")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11+ , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ "i"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ "Int"))))))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 35
tests/examples/ClassContext.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- f :: Ord (i Int) => i Int -> i Int f = undefined
tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- class C1 a where toString :: a -> String
tests/examples/ClosedTypeFamily.hs.parser.golden view
@@ -120,6 +120,7 @@ } "y"))) Nothing+ Nothing [ TypeEqn SrcSpanInfo { srcInfoSpan =
+ tests/examples/Completesig03A.hs view
@@ -0,0 +1,6 @@+module Completesig03A where++data A = A | B++{-# COMPLETE A #-}+
+ tests/examples/Completesig03A.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Completesig03A.hs.parser.golden view
@@ -0,0 +1,123 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 1+ , SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 1+ , SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 1+ , SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 1+ , SrcSpan "tests/examples/Completesig03A.hs" 7 1 7 1+ , SrcSpan "tests/examples/Completesig03A.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 1 1 1 7+ , SrcSpan "tests/examples/Completesig03A.hs" 1 23 1 28+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 1 8 1 22+ , srcInfoPoints = []+ }+ "Completesig03A")+ Nothing+ Nothing))+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 3 8 3 9+ , SrcSpan "tests/examples/Completesig03A.hs" 3 12 3 13+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "A"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "A")+ [])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "B")+ [])+ ]+ []+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Completesig03A.hs" 5 1 5 13+ , SrcSpan "tests/examples/Completesig03A.hs" 5 16 5 19+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Completesig03A.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ "A"+ ]+ Nothing+ ]+ , []+ )
+ tests/examples/Completesig03A.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Completesig03A.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+module Completesig03A where++data A = A+ | B++{-# COMPLETE A #-}
tests/examples/ConstraintKinds.hs.parser.golden view
@@ -160,7 +160,7 @@ } "a"))) []- Nothing+ [] , TypeDecl SrcSpanInfo { srcInfoSpan =@@ -342,53 +342,73 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22 , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15- , srcInfoPoints = []+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ] }- (Ident+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ "Bazable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19 , srcInfoPoints = [] }- "Bazable"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19+ , srcInfoPoints = []+ }+ "b")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/ConstraintKinds.hs.prettyprinter.golden view
@@ -1,9 +1,8 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where -class Foo a+class Foo a where data Bar a
tests/examples/ConstraintKinds2.hs.parser.golden view
@@ -133,6 +133,8 @@ } "Dict") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -148,21 +150,27 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ] }- (AppA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17 , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14- , srcInfoPoints = []+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ] }- "p")- [])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "p"))))) (TyApp SrcSpanInfo { srcInfoSpan =@@ -202,7 +210,7 @@ } "p")))) ]- Nothing+ [] ] , [] )
tests/examples/ConstraintKinds2.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE RankNTypes #-}-module Main (main) where data Dict p where Dict :: p => Dict p
tests/examples/ConstraintKinds3.hs.parser.golden view
@@ -165,34 +165,48 @@ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 16 6 18 ] }- (AppA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14 , srcInfoPoints = [] }- (Ident+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 12+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14 , srcInfoPoints = [] }- "c")- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds3.hs" 6 13 6 14- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/ConstraintKinds3.hs" 6 13 6 14- , srcInfoPoints = []- }- "a")- ]))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 11 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "c"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/ConstraintKinds3.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where class Foo c a where bar :: (c a) => a -> a
tests/examples/ConstructorAndClassOperators.hs.parser.golden view
@@ -76,7 +76,7 @@ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20@@ -85,53 +85,97 @@ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20 , srcInfoPoints =- [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9- , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12- , SrcSpan- "tests/examples/ConstructorAndClassOperators.hs" 3 12 3 13+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20 ] }- (Symbol+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 9+ 3+ 12+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 12+ 3+ 13+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 9+ 3+ 12+ , srcInfoPoints = []+ }+ ":=>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17 , srcInfoPoints = [] }- ":=>"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17- , srcInfoPoints = []- }- "h")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17+ , srcInfoPoints = []+ }+ "h")))))) (TyInfix SrcSpanInfo { srcInfoSpan =@@ -151,19 +195,25 @@ , srcInfoPoints = [] } "b"))- (UnQual+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25 , srcInfoPoints = [] }- ":-"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 23 3 25+ , srcInfoPoints = []+ }+ ":-"))) (TyVar SrcSpanInfo { srcInfoSpan =@@ -298,7 +348,7 @@ "b") ]) ]- Nothing+ [] ] , [] )
tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators, MultiParamTypeClasses #-}-module Main (main) where ins :: (:=>) b h => b :- h
+ tests/examples/ContextOrdering.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+module ContextOrdering where++foo :: (x m a) => Int+foo = 5
+ tests/examples/ContextOrdering.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ContextOrdering.hs.parser.golden view
@@ -0,0 +1,208 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 6 1 6 1+ , SrcSpan "tests/examples/ContextOrdering.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 2 1 2 7+ , SrcSpan "tests/examples/ContextOrdering.hs" 2 24 2 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 2 8 2 23+ , srcInfoPoints = []+ }+ "ContextOrdering")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 1 1 1 13+ , SrcSpan "tests/examples/ContextOrdering.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 4 5 4 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 22+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 9+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 14 4 15+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 4 8 4 9+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 14 4 15+ , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "x"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "a")))))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 19 4 22+ , srcInfoPoints = []+ }+ "Int"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 5 5 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ContextOrdering.hs" 5 5 5 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ 5+ "5")))+ Nothing+ ]+ , []+ )
+ tests/examples/ContextOrdering.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ContextOrdering.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ConstraintKinds #-}+module ContextOrdering where++foo :: (x m a) => Int+foo = 5
tests/examples/CxtWhitespace.hs.parser.golden view
@@ -46,35 +46,46 @@ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 18 2 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16- , srcInfoPoints = []- }- "h")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "h"))))))) (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 25@@ -132,62 +143,86 @@ , SrcSpan "tests/examples/CxtWhitespace.hs" 5 24 5 26 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16- , srcInfoPoints = []- }- "h")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "h")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22- , srcInfoPoints = []- }- "h")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "h"))) ])) (IHApp SrcSpanInfo
tests/examples/CxtWhitespace.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance (Eq h) => Eq h instance (Eq h, Eq h) => Eq h
tests/examples/DataHeadParen.hs.parser.golden view
@@ -123,7 +123,7 @@ "Foo") []) ]- Nothing+ [] ] , [] )
tests/examples/DataHeadParen.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeOperators #-} module DataHeadParen where -data (:<) a1 a2 = Foo+data (a1 :< a2) = Foo
tests/examples/DataKinds.hs.parser.golden view
@@ -118,7 +118,7 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 16 5 20 , srcInfoPoints = []@@ -240,7 +240,7 @@ , srcInfoPoints = [] } "a")- (KindList+ (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 16 8 21 , srcInfoPoints =@@ -248,7 +248,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 8 20 8 21 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 18 8 19 , srcInfoPoints = []@@ -298,7 +298,7 @@ "Baz") []) ]- Nothing+ [] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 11 1 11 15@@ -342,7 +342,7 @@ "Foo") []) ]- Nothing+ [] , ClassDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 1 13 29@@ -381,7 +381,7 @@ , srcInfoPoints = [] } "a")- (KindList+ (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 16 13 28 , srcInfoPoints =@@ -389,7 +389,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 13 27 13 28 ] }- (KindTuple+ (TyTuple SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 17 13 27 , srcInfoPoints =@@ -398,7 +398,8 @@ , SrcSpan "tests/examples/DataKinds.hs" 13 26 13 27 ] }- [ KindVar+ Boxed+ [ TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 18 13 21 , srcInfoPoints = []@@ -414,7 +415,7 @@ , srcInfoPoints = [] } "Baz"))- , KindVar+ , TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 23 13 26 , srcInfoPoints = []@@ -471,7 +472,7 @@ , srcInfoPoints = [] } "a")- (KindParen+ (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 16 15 21 , srcInfoPoints =@@ -479,7 +480,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 15 20 15 21 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 18 15 19 , srcInfoPoints = []@@ -524,17 +525,17 @@ , srcInfoPoints = [] } "a")- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 27 , srcInfoPoints = [] }- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 23 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 19 , srcInfoPoints = []@@ -550,38 +551,28 @@ , srcInfoPoints = [] } "App")))- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23- , srcInfoPoints = []- }- "foo"))))- (KindVar+ "foo")))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27- , srcInfoPoints = []- }- "baz"))))))+ "baz"))))) [] Nothing , ClassDecl@@ -622,7 +613,7 @@ , srcInfoPoints = [] } "a")- (KindParen+ (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 16 20 24 , srcInfoPoints =@@ -630,22 +621,17 @@ , SrcSpan "tests/examples/DataKinds.hs" 20 23 20 24 ] }- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23- , srcInfoPoints = []- }- "parens"))))))+ "parens"))))) [] Nothing , DataDecl@@ -690,7 +676,7 @@ , srcInfoPoints = [] } "a")- (KindList+ (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 14 22 17 , srcInfoPoints =@@ -698,13 +684,13 @@ , SrcSpan "tests/examples/DataKinds.hs" 22 16 22 17 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 15 22 16 , srcInfoPoints = [] })))) []- Nothing+ [] , PatBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 24 1 24 27@@ -968,7 +954,7 @@ , srcInfoPoints = [] } "a")- (KindTuple+ (TyTuple SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 14 27 23 , srcInfoPoints =@@ -977,12 +963,13 @@ , SrcSpan "tests/examples/DataKinds.hs" 27 22 27 23 ] }- [ KindStar+ Boxed+ [ TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 15 27 16 , srcInfoPoints = [] }- , KindVar+ , TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 18 27 22 , srcInfoPoints = []@@ -1000,7 +987,7 @@ "Bool")) ]))) []- Nothing+ [] , PatBind SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 29 1 29 36
tests/examples/DataKinds.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE KindSignatures #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyKinds #-}-module Main (main) where class C1 (a :: Bool) where c :: proxy a -> Int
tests/examples/DataKinds2.hs.parser.golden view
@@ -91,7 +91,7 @@ "Foo") []) ]- Nothing+ [] , TypeDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds2.hs" 5 1 5 20
tests/examples/DataKinds2.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE DataKinds #-}-module Main (main) where data Foo a = Foo @@ -7,4 +6,4 @@ type FooC = Foo 1 -instance Show (Foo "bar")+instance Show (Foo "bar") where
tests/examples/DefaultSignatures.hs.parser.golden view
@@ -205,39 +205,53 @@ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 25 4 27 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 19 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 19 4 21+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/DefaultSignatures.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE DefaultSignatures #-}-module Main (main) where class C a where f :: a -> a -> Bool
tests/examples/DeriveGeneric.hs.parser.golden view
@@ -202,37 +202,38 @@ "Leaf") []) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 19- , srcInfoPoints =- [ SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 11 ]- }- [ IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19- , srcInfoPoints = []- }- "Generic")))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DeriveGeneric.hs" 4 3 4 11 ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DeriveGeneric.hs" 4 12 4 19+ , srcInfoPoints = []+ }+ "Generic")))+ ]+ ] ] , [] )
tests/examples/DeriveGeneric.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE DeriveGeneric #-}-module Main (main) where data UserTree a = Node a (UserTree a) (UserTree a) | Leaf- deriving Generic+ deriving Generic
tests/examples/DerivingParen.hs.parser.golden view
@@ -57,37 +57,38 @@ "X") []) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 25- , srcInfoPoints =- [ SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 20 ]- }- [ IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25- , srcInfoPoints = []- }- "Show")))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 1 12 1 20 ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 1 21 1 25+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 1 2 27@@ -131,46 +132,46 @@ "X") []) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 27- , srcInfoPoints =- [ SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 20 ]- }- [ IParen- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 27- , srcInfoPoints =- [ SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 22- , SrcSpan "tests/examples/DerivingParen.hs" 2 26 2 27- ]- }- (IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26- , srcInfoPoints = []- }- "Show"))))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 2 12 2 20 ]+ }+ Nothing+ [ IParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingParen.hs" 2 21 2 22+ , SrcSpan "tests/examples/DerivingParen.hs" 2 26 2 27+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingParen.hs" 2 22 2 26+ , srcInfoPoints = []+ }+ "Show"))))+ ]+ ] ] , [] )
tests/examples/DerivingParen.hs.prettyprinter.golden view
@@ -1,7 +1,3 @@-module Main (main) where--data X = X- deriving Show+data X = X deriving Show -data X = X- deriving Show+data X = X deriving (Show)
+ tests/examples/DerivingStrategies.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingStrategies where++class C a+class D a++newtype Foo a = MkFoo a+ deriving ()+ deriving stock (Eq, Ord)+ deriving newtype Show+ deriving anyclass C++deriving stock instance Read a => Read (Foo a)+deriving newtype instance Num a => Num (Foo a)+deriving anyclass instance D (Foo a)
+ tests/examples/DerivingStrategies.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingStrategies.hs.parser.golden view
@@ -0,0 +1,849 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 19 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 10 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 19 1 19 1+ , SrcSpan "tests/examples/DerivingStrategies.hs" 19 1 19 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 5 1 5 7+ , SrcSpan "tests/examples/DerivingStrategies.hs" 5 27 5 32+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 5 8 5 26+ , srcInfoPoints = []+ }+ "DerivingStrategies")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "DeriveAnyClass"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 2 33 2 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 2 14 2 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 3 41 3 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 3 14 3 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 4 33 4 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 4 14 4 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 7 1 7 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 7 7 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ "a")))+ []+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 8 1 8 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 7 8 8+ , srcInfoPoints = []+ }+ "D"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "a")))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 10 15 10 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 1 10 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 9 10 12+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 17 10 22+ , srcInfoPoints = []+ }+ "MkFoo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 11 3 11 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 11 3 11 11+ , SrcSpan "tests/examples/DerivingStrategies.hs" 11 12 11 13+ , SrcSpan "tests/examples/DerivingStrategies.hs" 11 13 11 14+ ]+ }+ Nothing+ []+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 3 12 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 12 3 12 11+ , SrcSpan "tests/examples/DerivingStrategies.hs" 12 18 12 19+ , SrcSpan "tests/examples/DerivingStrategies.hs" 12 21 12 22+ , SrcSpan "tests/examples/DerivingStrategies.hs" 12 26 12 27+ ]+ }+ (Just+ (DerivStock+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 12 12 17+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 19 12 21+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 12 23 12 26+ , srcInfoPoints = []+ }+ "Ord")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 3 13 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 13 3 13 11 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 12 13 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 13 20 13 24+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 3 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 14 3 14 11 ]+ }+ (Just+ (DerivAnyclass+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 12 14 20+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 14 21 14 22+ , srcInfoPoints = []+ }+ "C")))+ ]+ ]+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 1 16 9+ , SrcSpan "tests/examples/DerivingStrategies.hs" 16 16 16 24+ ]+ }+ (Just+ (DerivStock+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 10 16 15+ , srcInfoPoints = []+ }))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ , srcInfoPoints = []+ }+ "Read")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 35 16 39+ , srcInfoPoints = []+ }+ "Read")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 40 16 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 40 16 41+ , SrcSpan "tests/examples/DerivingStrategies.hs" 16 46 16 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 41 16 44+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 45 16 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 45 16 46+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 1 17 9+ , SrcSpan "tests/examples/DerivingStrategies.hs" 17 18 17 26+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 10 17 17+ , srcInfoPoints = []+ }))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 36 17 39+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 40 17 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 40 17 41+ , SrcSpan "tests/examples/DerivingStrategies.hs" 17 46 17 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 41 17 44+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 45 17 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 45 17 46+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 18 1 18 9+ , SrcSpan "tests/examples/DerivingStrategies.hs" 18 19 18 27+ ]+ }+ (Just+ (DerivAnyclass+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 10 18 18+ , srcInfoPoints = []+ }))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 37+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 28 18 29+ , srcInfoPoints = []+ }+ "D")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 30 18 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 18 30 18 31+ , SrcSpan "tests/examples/DerivingStrategies.hs" 18 36 18 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ "a"))))))+ ]+ , []+ )
+ tests/examples/DerivingStrategies.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingStrategies.hs.prettyprinter.golden view
@@ -0,0 +1,21 @@+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingStrategies where++class C a++class D a++newtype Foo a = MkFoo a+ deriving ()+ deriving stock (Eq, Ord)+ deriving newtype Show+ deriving anyclass C++deriving stock instance Read a => Read (Foo a)++deriving newtype instance Num a => Num (Foo a)++deriving anyclass instance D (Foo a)
+ tests/examples/DerivingVia.hs view
@@ -0,0 +1,459 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+ deriving Show+ via (Identity (Foo a))++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving Functor+ via (Flip Either Int)++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+-- type Lifting cls trans = forall mm. cls mm => cls (trans mm)+--+-- type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+ proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype+ ( Functor+ , Applicative+ , Monad+ , MonadReader Int+ , MonadState Bool+ , MonadWriter String+ )+ deriving (MonadTrans, MFunctor)+ via (ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+ lift :: forall m. Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift+ \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+ hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT+ \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+ deriving (Semigroup, Monoid)+ via (Product a, Sum a)++ deriving (Show, Eq)+ via (a, a)++-----+-- Abstract data types+-----++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via (X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a deriving Show via a+newtype P1 a = P1 [a] deriving Show via [a]+newtype P2 a = P2 (a, a) deriving Show via (a, a)+newtype P3 a = P3 (Maybe a) deriving Show via (First a)+newtype P4 a = P4 (Maybe a) deriving Show via (First $ a)+newtype P5 a = P5 a deriving Show via (Identity $ a)+newtype P6 a = P6 [a] deriving Show via ([] $ a)+newtype P7 a = P7 (a, a) deriving Show via (Identity $ (a, a))+newtype P8 a = P8 (Either () a) deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+ mempty = pure mempty++----+-- 2+----+class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++-- data+data Sorted a = Sorted a a a+ deriving (Functor, Applicative)+ via (WrapMonad Sorted)+ deriving (Num, Fractional, Floating, Semigroup, Monoid)+ via (WrapApplicative Sorted a)+++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c' where+ Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a+newtype WrappedShow a = WrappedShow a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void deriving IsZero via (WrappedShow Void)++----+-- 4+----+class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b++ biliftA2+ :: (a -> b -> c)+ -> (a' -> b' -> c')+ -> p a a'+ -> p b b'+ -> p c c'++instance Biapplicative (,) where+ bipure = (,)++ biliftA2 f f' (a, a') (b, b') =+ (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++----+-- 5+----+class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any+deriving via () instance MonoidNull ()+deriving via Ordering instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+ sup :: a -> a -> a+ (.>=) :: a -> a -> Bool+ (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving via Bool instance Lattice Bool+--mkLattice_(Char)+deriving via Char instance Lattice Char+--mkLattice_(Int)+deriving via Int instance Lattice Int+--mkLattice_(Integer)+deriving via Integer instance Lattice Integer+--mkLattice_(Float)+deriving via Float instance Lattice Float+--mkLattice_(Double)+deriving via Double instance Lattice Double+--mkLattice_(Rational)+deriving via Rational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+ zero :: Num a => f a+ (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go where+ go (x:xs) (y:ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via (WrapApplicative Complex) instance Additive Complex+deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type++ (.-.) :: Num a => p a -> p a -> Diff p a+ (.+^) :: Num a => p a -> Diff p a -> p a+ (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+-- (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+-- (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f++ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via (WrapAdditive []) instance Affine []+-- ADDITIVE(Complex)+deriving via (WrapAdditive Complex) instance Affine Complex+-- ADDITIVE(Maybe)+deriving via (WrapAdditive Maybe) instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via (WrapAdditive ZipList) instance Affine ZipList+-- ADDITIVE(Identity)+deriving via (WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving (C2 a b)+ via (Const a (b :: Type))
+ tests/examples/DerivingVia.hs.exactprinter.golden view
@@ -0,0 +1,460 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+ deriving+ via( Identity (Foo a))Show++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving+ via( Flip Either Int)Functor++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+-- type Lifting cls trans = forall mm. cls mm => cls (trans mm)+--+-- type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+ proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype+ ( Functor+ , Applicative+ , Monad+ , MonadReader Int+ , MonadState Bool+ , MonadWriter String+ )+ deriving+ via( ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)(MonadTrans,MFunctor)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+ lift :: forall m. Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift+ \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+ hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT+ \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+ deriving+ via (Product a, Sum a)(Semigroup,Monoid)++ deriving+ via (a, a)(Show,Eq)++-----+-- Abstract data types+-----++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via( X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a deriving viaaShow+newtype P1 a = P1 [a] deriving via[ a]Show+newtype P2 a = P2 (a, a) deriving via (a, a)Show+newtype P3 a = P3 (Maybe a) deriving via( First a)Show+newtype P4 a = P4 (Maybe a) deriving via( First $ a)Show+newtype P5 a = P5 a deriving via( Identity $ a)Show+newtype P6 a = P6 [a] deriving via( [] $ a)Show+newtype P7 a = P7 (a, a) deriving via( Identity $ (a, a))Show+newtype P8 a = P8 (Either () a) deriving via( ($) (Either ()))Functor++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+ mempty = pure mempty++----+-- 2+----+class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++-- data+data Sorted a = Sorted a a a+ deriving+ via( WrapMonad Sorted)(Functor,Applicative)+ deriving+ via( WrapApplicative Sorted a)(Num,Fractional,Floating,Semigroup,Monoid)+++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c' where+ Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a+newtype WrappedShow a = WrappedShow a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving via( WrappedNumEq Int)IsZero++newtype VOID = VOID Void deriving via( WrappedShow Void)IsZero++----+-- 4+----+class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b++ biliftA2+ :: (a -> b -> c)+ -> (a' -> b' -> c')+ -> p a a'+ -> p b b'+ -> p c c'++instance Biapplicative (,) where+ bipure = (,)++ biliftA2 f f' (a, a') (b, b') =+ (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving via( WrappedNumEq2 (WrapBiapp (,) Int Int))IsZero++----+-- 5+----+class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via( WrpMonNull Any) instance MonoidNull Any+deriving via () instance MonoidNull ()+deriving viaOrdering instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+ sup :: a -> a -> a+ (.>=) :: a -> a -> Bool+ (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via[ a] instance Ord a => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving viaBool instance Lattice Bool+--mkLattice_(Char)+deriving viaChar instance Lattice Char+--mkLattice_(Int)+deriving viaInt instance Lattice Int+--mkLattice_(Integer)+deriving viaInteger instance Lattice Integer+--mkLattice_(Float)+deriving viaFloat instance Lattice Float+--mkLattice_(Double)+deriving viaDouble instance Lattice Double+--mkLattice_(Rational)+deriving viaRational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+ zero :: Num a => f a+ (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go where+ go (x:xs) (y:ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via( WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via( WrapApplicative Complex) instance Additive Complex+deriving via( WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type++ (.-.) :: Num a => p a -> p a -> Diff p a+ (.+^) :: Num a => p a -> Diff p a -> p a+ (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+-- (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+-- (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f++ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via( WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via( WrapAdditive []) instance Affine []+-- ADDITIVE(Complex)+deriving via( WrapAdditive Complex) instance Affine Complex+-- ADDITIVE(Maybe)+deriving via( WrapAdditive Maybe) instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via( WrapAdditive ZipList) instance Affine ZipList+-- ADDITIVE(Identity)+deriving via( WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving+ via( Const a (b :: Type))(C2ab)+
+ tests/examples/DerivingVia.hs.parser.golden view
@@ -0,0 +1,32882 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 460 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 1+ , SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 1+ , SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 1+ , SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 1+ , SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 1+ , SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 1+ , SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 1+ , SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 1+ , SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 1+ , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 1+ , SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 1+ , SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 1+ , SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 1+ , SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 1+ , SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 1+ , SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 1+ , SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 1+ , SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 1+ , SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 1+ , SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 1+ , SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 1+ , SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 1+ , SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 1+ , SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 1+ , SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 1+ , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 1+ , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 1+ , SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 1+ , SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 1+ , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 1+ , SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 1+ , SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 1+ , SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 1+ , SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 1+ , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 1+ , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 1+ , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 1+ , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 1+ , SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 1+ , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 1+ , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 1+ , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 1+ , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 1+ , SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 1+ , SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 1+ , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 1+ , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 1+ , SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 1+ , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 1+ , SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 1+ , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 1+ , SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 1+ , SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 1+ , SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 1+ , SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 1+ , SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 1+ , SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 1+ , SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 1+ , SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 1+ , SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 1+ , SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 1+ , SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 1+ , SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 1+ , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 1+ , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 1+ , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 1+ , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 1+ , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 1+ , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 1+ , SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 1+ , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 1+ , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 1+ , SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 1+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 1+ , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 1+ , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 1+ , SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 1+ , SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 1+ , SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 1+ , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 1+ , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 1+ , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 1+ , SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 1+ , SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 1+ , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 1+ , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 1+ , SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 1+ , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 1+ , SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 1+ , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 1+ , SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 1+ , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 1+ , SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 1+ , SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 1+ , SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 1+ , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 1+ , SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 1+ , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 1+ , SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 1+ , SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 1+ , SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 1+ , SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 1+ , SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 1+ , SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 1+ , SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 1+ , SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 1+ , SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 1+ , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 1+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 1+ , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 1+ , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 1+ , SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 1+ , SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 1+ , SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 1+ , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 1+ , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 1+ , SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 1+ , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 1+ , SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 1+ , SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 1+ , SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 1+ , SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 1+ , SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 1+ , SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 1+ , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 1+ , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 1+ , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+ , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 7+ , SrcSpan "tests/examples/DerivingVia.hs" 20 20 20 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 8 20 19+ , srcInfoPoints = []+ }+ "DerivingVia")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingVia.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingVia.hs" 2 26 2 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 14 2 25+ , srcInfoPoints = []+ }+ "DerivingVia"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingVia.hs" 3 41 3 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 14 3 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingVia.hs" 4 29 4 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 14 4 28+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 13+ , SrcSpan "tests/examples/DerivingVia.hs" 5 25 5 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 14 5 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 13+ , SrcSpan "tests/examples/DerivingVia.hs" 6 33 6 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 14 6 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 13+ , SrcSpan "tests/examples/DerivingVia.hs" 7 27 7 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 14 7 26+ , srcInfoPoints = []+ }+ "InstanceSigs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 13+ , SrcSpan "tests/examples/DerivingVia.hs" 8 25 8 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 14 8 24+ , srcInfoPoints = []+ }+ "TypeInType"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 13+ , SrcSpan "tests/examples/DerivingVia.hs" 9 20 9 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 14 9 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 13+ , SrcSpan "tests/examples/DerivingVia.hs" 10 31 10 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 14 10 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 13+ , SrcSpan "tests/examples/DerivingVia.hs" 11 30 11 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 14 11 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 13+ , SrcSpan "tests/examples/DerivingVia.hs" 12 36 12 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 14 12 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 13+ , SrcSpan "tests/examples/DerivingVia.hs" 13 25 13 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 14 13 24+ , srcInfoPoints = []+ }+ "MultiWayIf"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 13+ , SrcSpan "tests/examples/DerivingVia.hs" 14 28 14 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 14 14 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 13+ , SrcSpan "tests/examples/DerivingVia.hs" 15 34 15 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 14 15 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 13+ , SrcSpan "tests/examples/DerivingVia.hs" 16 32 16 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 14 16 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 13+ , SrcSpan "tests/examples/DerivingVia.hs" 17 27 17 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 14 17 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 13+ , SrcSpan "tests/examples/DerivingVia.hs" 18 31 18 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 14 18 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 13+ , SrcSpan "tests/examples/DerivingVia.hs" 19 35 19 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 14 19 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 8 22 17+ , srcInfoPoints = []+ }+ "Data.Void"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 8 23 20+ , srcInfoPoints = []+ }+ "Data.Complex"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 8 24 26+ , srcInfoPoints = []+ }+ "Data.Functor.Const"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 8 25 29+ , srcInfoPoints = []+ }+ "Data.Functor.Identity"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 8 26 18+ , srcInfoPoints = []+ }+ "Data.Ratio"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 8 27 28+ , srcInfoPoints = []+ }+ "Control.Monad.Reader"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 8 28 27+ , srcInfoPoints = []+ }+ "Control.Monad.State"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 8 29 28+ , srcInfoPoints = []+ }+ "Control.Monad.Writer"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 8 30 27+ , srcInfoPoints = []+ }+ "Control.Applicative"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 34+ , SrcSpan "tests/examples/DerivingVia.hs" 30 35 30 36+ , SrcSpan "tests/examples/DerivingVia.hs" 30 52 30 53+ ]+ }+ True+ [ IThingAll+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 48 30 49+ , SrcSpan "tests/examples/DerivingVia.hs" 30 49 30 51+ , SrcSpan "tests/examples/DerivingVia.hs" 30 51 30 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 48+ , srcInfoPoints = []+ }+ "WrappedMonad")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 8 32 22+ , srcInfoPoints = []+ }+ "Data.Bifunctor"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 8 33 19+ , srcInfoPoints = []+ }+ "Data.Monoid"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 8 34 17+ , srcInfoPoints = []+ }+ "Data.Kind"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 5+ , SrcSpan "tests/examples/DerivingVia.hs" 36 13 36 14+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 8 36 10+ , srcInfoPoints = []+ }+ "~>"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+ , srcInfoPoints = []+ }+ "g")))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 21+ , SrcSpan "tests/examples/DerivingVia.hs" 36 24 36 25+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+ , srcInfoPoints = []+ }+ "xx")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 31 36 33 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 30+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+ , srcInfoPoints = []+ }+ "xx")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ "g"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+ , srcInfoPoints = []+ }+ "xx")))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 43 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 42 12 42 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 19+ , srcInfoPoints = []+ }+ "MkFoo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 8 44 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 13+ , SrcSpan "tests/examples/DerivingVia.hs" 44 29 44 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ "Identity")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 23+ , SrcSpan "tests/examples/DerivingVia.hs" 44 28 44 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ "a"))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 20 50 21 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 17+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+ , srcInfoPoints = []+ }+ "Flip"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ "p")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+ , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+ , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 26+ , srcInfoPoints = []+ }+ "Flip")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 37 50 39 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 36+ , srcInfoPoints = []+ }+ "runFlip"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 45+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 1 55 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 9+ , SrcSpan "tests/examples/DerivingVia.hs" 52 44 52 49+ , SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 3+ , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+ , srcInfoPoints = []+ }+ "p"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36+ , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ "Flip")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+ , srcInfoPoints = []+ }+ "p"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8+ , srcInfoPoints = []+ }+ "bimap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ "g")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ "Flip")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ "g"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ "runFlip"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9+ , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49+ , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3+ , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+ , srcInfoPoints = []+ }+ "p"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34+ , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ "Flip")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7+ , srcInfoPoints = []+ }+ "fmap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ "Flip")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ "first")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ "runFlip"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ "Bar"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22+ , srcInfoPoints = []+ }+ "MkBar")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24+ , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ "Either")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ "Int"))))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13+ , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ "Flip")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ "Either"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ "Int")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5+ , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+ , srcInfoPoints = []+ }+ "MTrans"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16+ , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ "Type")))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34+ , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ "Type"))))))+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18+ , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3+ , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+ , srcInfoPoints = []+ }+ "Dict"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ "c")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7+ , srcInfoPoints = []+ }+ "Dict")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12+ , srcInfoPoints = []+ }+ "c")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+ , srcInfoPoints = []+ }+ "c"))))+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13+ , srcInfoPoints = []+ }+ ":-"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21+ , srcInfoPoints = []+ }+ "Sub")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23+ , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+ , srcInfoPoints = []+ }+ "b"))))+ ])+ ]+ []+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]+ }+ (AssocLeft+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7+ , srcInfoPoints = []+ })+ (Just 1)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+ , srcInfoPoints = []+ }+ "\\\\")+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2+ , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4+ , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5+ ]+ }+ "\\\\"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15+ , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16+ , srcInfoPoints = []+ }+ "b")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ "r"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27+ , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+ , srcInfoPoints = []+ }+ "a"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ ":-")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+ , srcInfoPoints = []+ }+ "b"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+ , srcInfoPoints = []+ }+ "r")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+ , srcInfoPoints = []+ }+ "r"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5+ , srcInfoPoints = []+ }+ "\\\\")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+ , srcInfoPoints = []+ }+ "Sub"))+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ "Dict"))+ []+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ "r"))))+ Nothing+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6+ , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43+ , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3+ , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+ , srcInfoPoints = []+ }+ "LiftingMonad"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21+ , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29+ , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26+ , srcInfoPoints = []+ }+ "trans")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ "MTrans")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30+ , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+ , srcInfoPoints = []+ }+ "m")))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9+ , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49+ , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3+ , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3+ , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24+ , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35+ , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+ , srcInfoPoints = []+ }+ "s")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30+ , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+ , srcInfoPoints = []+ }+ "m")))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ "Dict")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9+ , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62+ , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3+ , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3+ , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "w"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36+ , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48+ , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+ , srcInfoPoints = []+ }+ "w")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30+ , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+ , srcInfoPoints = []+ }+ "m")))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ "Dict")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9+ , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107+ , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3+ , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3+ , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11+ , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30+ , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51+ , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+ , srcInfoPoints = []+ }+ "trans")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+ , srcInfoPoints = []+ }+ "trans'")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69+ , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93+ , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+ , srcInfoPoints = []+ }+ "trans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+ , srcInfoPoints = []+ }+ "trans'")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18+ , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ "m")+ ])+ Nothing+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40+ , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 40 96 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 40 96 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 96+ 40+ 96+ 48+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 49 96 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 49 96 54+ , srcInfoPoints = []+ }+ "trans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 55 96 61+ , srcInfoPoints = []+ }+ "trans'")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+ , srcInfoPoints = []+ }+ "m"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16+ , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ "Dict")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 24 97 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 24 97 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 24+ 97+ 29+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 30 97 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 97 30 97 31+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 31 97 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 31+ 97+ 36+ , srcInfoPoints = []+ }+ "trans"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38+ ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 38 97 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 97 38 97 39+ , SrcSpan+ "tests/examples/DerivingVia.hs" 97 47 97 48+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 39 97 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 39+ 97+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 39+ 97+ 45+ , srcInfoPoints = []+ }+ "trans'"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 46+ 97+ 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 46+ 97+ 47+ , srcInfoPoints = []+ }+ "m")))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 59 97 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 59 97 65+ , srcInfoPoints = []+ }+ "trans'"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 67 97 68+ , srcInfoPoints = []+ }+ "m"))))))))+ Nothing)+ ])+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17+ , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30+ , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3+ , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+ , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+ ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+ , srcInfoPoints = []+ }+ "Stack"))+ (Just+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ "MTrans"))))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8+ , srcInfoPoints = []+ }+ "Stack")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ "Int"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25+ , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ "StateT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38+ , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ "String"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+ , srcInfoPoints = []+ }+ "m")))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ "Stack")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+ , srcInfoPoints = []+ }+ "a"))))+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11+ , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6+ , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6+ , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6+ , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6+ , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6+ , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6+ , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ "Applicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ "Monad")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ "MonadReader")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ "Int"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ "MonadState")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ "Bool"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ "MonadWriter")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ "String"))))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11+ , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13+ , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24+ , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13+ , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ "Int"))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+ , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+ , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ "StateT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ "Bool"))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+ , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+ , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ "String")))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ "MonadTrans")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ "MFunctor")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6+ , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39+ , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3+ , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+ , srcInfoPoints = []+ }+ "MFunctor"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17+ , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25+ , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22+ , srcInfoPoints = []+ }+ "trans")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ "MTrans")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 113 12 113 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24+ , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37+ , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+ , srcInfoPoints = []+ }+ "m'"))))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9+ , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46+ , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3+ , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3+ , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20+ , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32+ , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+ , srcInfoPoints = []+ }+ "r")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 12 116 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24+ , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37+ , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 45 116 46+ , srcInfoPoints = []+ }+ "r")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 60 116 61+ , srcInfoPoints = []+ }+ "r")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ "ReaderT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ "nat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ "runReaderT"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9+ , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45+ , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3+ , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3+ , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20+ , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31+ , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ "s")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 12 120 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24+ , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37+ , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 44 120 45+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 58 120 59+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ "StateT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ "nat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ "runStateT"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9+ , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46+ , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3+ , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3+ , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20+ , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32+ , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+ , srcInfoPoints = []+ }+ "w")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 12 124 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24+ , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37+ , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 45 124 46+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 60 124 61+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ "WriterT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ "nat")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ "runWriterT"))))))+ Nothing+ ])+ ])+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7+ , srcInfoPoints = []+ })+ (Just 9)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+ , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+ , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+ , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+ , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+ ]+ }+ "ComposeT")+ ]+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20+ , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53+ , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3+ , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+ , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+ ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+ , srcInfoPoints = []+ }+ "ComposeT"))+ (Just+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ "MTrans")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ "MTrans")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ "MTrans"))))))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14+ , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16+ , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43+ , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11+ , srcInfoPoints = []+ }+ "ComposeT")+ Nothing+ Nothing+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28+ , srcInfoPoints = []+ }+ "getComposeT"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+ , srcInfoPoints = []+ }+ "f"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35+ , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+ , srcInfoPoints = []+ }+ "g"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+ , srcInfoPoints = []+ }+ "m")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+ , srcInfoPoints = []+ }+ "a")))+ ])+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+ , srcInfoPoints = []+ }+ "a")))+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11+ , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21+ , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29+ , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42+ , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ "Applicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ "Monad")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9+ , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89+ , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3+ , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3+ , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11+ , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24+ , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38+ , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54+ , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+ , srcInfoPoints = []+ }+ "g")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70+ , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+ , srcInfoPoints = []+ }+ "g"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7+ , srcInfoPoints = []+ }+ "lift"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17+ , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+ , srcInfoPoints = []+ }+ "m")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 133 21 133 26+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+ , srcInfoPoints = []+ }+ "m"))))))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+ , srcInfoPoints = []+ }+ "m"))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+ , srcInfoPoints = []+ }+ "lift"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ "ComposeT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ "lift")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ "lift")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+ , srcInfoPoints = []+ }+ "g"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+ , srcInfoPoints = []+ }+ "m"))))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9+ , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83+ , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3+ , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3+ , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11+ , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22+ , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34+ , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50+ , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+ , srcInfoPoints = []+ }+ "g")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64+ , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+ , srcInfoPoints = []+ }+ "g"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18+ , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+ , srcInfoPoints = []+ }+ "m")+ , UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+ , srcInfoPoints = []+ }+ "m'")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 25 138 30+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37+ , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50+ , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 50 138 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 50 138 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 138+ 50+ 138+ 58+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 59 138 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 59 138 60+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 61 138 62+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 68 138 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 68 138 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 138+ 68+ 138+ 76+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 77 138 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 77 138 78+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 79 138 80+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ "ComposeT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 24 139 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 24 139 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 24+ 139+ 29+ , srcInfoPoints = []+ }+ "hoist")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 30 139 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 139 30 139 31+ , SrcSpan+ "tests/examples/DerivingVia.hs" 139 38 139 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 31 139 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ "hoist")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ "f"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ "getComposeT")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 15 140 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 15 140 16+ , srcInfoPoints = []+ }+ "g"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 18 140 19+ , srcInfoPoints = []+ }+ "m"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+ , srcInfoPoints = []+ }+ "X"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16+ , srcInfoPoints = []+ }+ "X")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18+ , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20+ , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11+ , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13+ , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23+ , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13+ , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23+ , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ "Product")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ "a"))+ , TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ "Sum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+ , srcInfoPoints = []+ }+ "a"))+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11+ , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13+ , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18+ , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13+ , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15+ , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ "a")+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ "Show")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6+ , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16+ , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3+ , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4+ , srcInfoPoints = []+ }+ "c"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ "Int")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+ , srcInfoPoints = []+ }+ "X2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20+ , srcInfoPoints = []+ }+ "X2")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22+ , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9+ , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24+ , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3+ , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ "C")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13+ , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ "X2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ "const")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+ , srcInfoPoints = []+ }+ 0+ "0"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9+ , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15+ , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ "X2")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ "IO")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ "IO")))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+ , srcInfoPoints = []+ }+ "P0"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18+ , srcInfoPoints = []+ }+ "P0")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+ , srcInfoPoints = []+ }+ "a"))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+ , srcInfoPoints = []+ }+ "P1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18+ , srcInfoPoints = []+ }+ "P1")+ [ TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20+ , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50+ , srcInfoPoints = []+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52+ , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+ , srcInfoPoints = []+ }+ "a")))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+ , srcInfoPoints = []+ }+ "P2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18+ , srcInfoPoints = []+ }+ "P2")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20+ , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22+ , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52+ , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54+ , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+ , srcInfoPoints = []+ }+ "a")+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+ , srcInfoPoints = []+ }+ "P3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18+ , srcInfoPoints = []+ }+ "P3")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20+ , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52+ , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ "First")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+ , srcInfoPoints = []+ }+ "P4"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18+ , srcInfoPoints = []+ }+ "P4")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20+ , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52+ , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ "First")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+ , srcInfoPoints = []+ }+ "P5"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18+ , srcInfoPoints = []+ }+ "P5")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52+ , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ "Identity")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+ , srcInfoPoints = []+ }+ "P6"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18+ , srcInfoPoints = []+ }+ "P6")+ [ TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20+ , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52+ , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ })))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+ , srcInfoPoints = []+ }+ "P7"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18+ , srcInfoPoints = []+ }+ "P7")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20+ , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22+ , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52+ , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ "Identity")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ "$")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64+ , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66+ , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+ , srcInfoPoints = []+ }+ "a")+ ])))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+ , srcInfoPoints = []+ }+ "P8"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18+ , srcInfoPoints = []+ }+ "P8")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20+ , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55+ , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+ , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+ , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , srcInfoPoints = []+ }+ "$")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60+ , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan+ "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ })))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12+ , srcInfoPoints = []+ }+ "$"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20+ , srcInfoPoints = []+ }+ "APP")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22+ , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+ , srcInfoPoints = []+ }+ "WrapApplicative"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49+ , srcInfoPoints = []+ }+ "WrappedApplicative")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51+ , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11+ , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13+ , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21+ , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9+ , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67+ , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3+ , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3+ , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3+ , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3+ , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3+ , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3+ , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11+ , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25+ , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32+ , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41+ , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4+ , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+ , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+ , srcInfoPoints = []+ }+ "+"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+ , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+ , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4+ , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+ , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+ , srcInfoPoints = []+ }+ "*"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+ , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+ , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+ , srcInfoPoints = []+ }+ "negate"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ "negate")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+ , srcInfoPoints = []+ }+ "fromInteger"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ "pure")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ "fromInteger")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+ , srcInfoPoints = []+ }+ "abs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ "abs")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+ , srcInfoPoints = []+ }+ "signum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ "signum")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9+ , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81+ , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3+ , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3+ , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11+ , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25+ , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39+ , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+ , srcInfoPoints = []+ }+ "Fractional")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ "Fractional")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55+ , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+ , srcInfoPoints = []+ }+ "recip"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ "recip")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+ , srcInfoPoints = []+ }+ "fromRational"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ "pure")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ "fromRational")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9+ , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77+ , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3+ , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3+ , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3+ , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3+ , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3+ , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3+ , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3+ , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3+ , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3+ , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3+ , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3+ , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3+ , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3+ , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3+ , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11+ , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25+ , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37+ , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+ , srcInfoPoints = []+ }+ "Floating")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ "Floating")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51+ , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ "pi")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+ , srcInfoPoints = []+ }+ "sqrt"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ "sqrt")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+ , srcInfoPoints = []+ }+ "exp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ "exp")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+ , srcInfoPoints = []+ }+ "log"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ "log")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+ , srcInfoPoints = []+ }+ "sin"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ "sin")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+ , srcInfoPoints = []+ }+ "cos"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ "cos")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+ , srcInfoPoints = []+ }+ "asin"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ "asin")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+ , srcInfoPoints = []+ }+ "atan"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ "atan")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+ , srcInfoPoints = []+ }+ "acos"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ "acos")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+ , srcInfoPoints = []+ }+ "sinh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ "sinh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+ , srcInfoPoints = []+ }+ "cosh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ "cosh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+ , srcInfoPoints = []+ }+ "asinh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ "asinh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+ , srcInfoPoints = []+ }+ "atanh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ "atanh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+ , srcInfoPoints = []+ }+ "acosh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ "acosh")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9+ , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79+ , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3+ , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11+ , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25+ , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38+ , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+ , srcInfoPoints = []+ }+ "s")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53+ , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+ , srcInfoPoints = []+ }+ "s"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4+ , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+ , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+ , srcInfoPoints = []+ }+ "<>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+ , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+ , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , srcInfoPoints = []+ }+ "<>")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9+ , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73+ , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3+ , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11+ , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25+ , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35+ , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47+ , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+ , srcInfoPoints = []+ }+ "mempty"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ "mempty")))))+ Nothing)+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6+ , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22+ , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3+ , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+ , srcInfoPoints = []+ }+ "Pointed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10+ , srcInfoPoints = []+ }+ "pointed"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+ , srcInfoPoints = []+ }+ "a")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+ , srcInfoPoints = []+ }+ "WrapMonad"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37+ , srcInfoPoints = []+ }+ "WrappedMonad")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39+ , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11+ , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21+ , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29+ , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ "Pointed")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ "Monad")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9+ , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61+ , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3+ , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11+ , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19+ , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30+ , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+ , srcInfoPoints = []+ }+ "m")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43+ , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+ , srcInfoPoints = []+ }+ "fmap"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ "liftM"))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9+ , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65+ , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3+ , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3+ , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11+ , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19+ , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30+ , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+ , srcInfoPoints = []+ }+ "m")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47+ , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+ , srcInfoPoints = []+ }+ "pure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ "pointed"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4+ , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+ , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+ , srcInfoPoints = []+ }+ "<*>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ "ap"))))+ Nothing)+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+ , srcInfoPoints = []+ }+ "Sorted"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23+ , srcInfoPoints = []+ }+ "Sorted")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11+ , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13+ , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21+ , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10+ , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ "Sorted")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11+ , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13+ , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17+ , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29+ , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39+ , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50+ , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10+ , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ "Sorted"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ "Num")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ "Fractional")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ "Floating")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9+ , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28+ , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3+ , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ "Monad")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ "Sorted")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4+ , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7+ , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8+ ]+ }+ ">>="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25+ , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+ , srcInfoPoints = []+ }+ "b"))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+ , srcInfoPoints = []+ }+ "c")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19+ , srcInfoPoints = []+ }+ ">>=")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ "Sorted")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ "a'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ "b'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ "c'")))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5+ , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5+ , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 5 254 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 12 254 14+ , srcInfoPoints = []+ }+ "a'")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 23 254 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 23 254 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 254+ 23+ 254+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 25 254 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 25 254 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 254+ 25+ 254+ 26+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 5 255 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 15 255 17+ , srcInfoPoints = []+ }+ "b'")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 23 255 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 23 255 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 255+ 23+ 255+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 25 255 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 25 255 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 255+ 25+ 255+ 26+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 5 256 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 18 256 20+ , srcInfoPoints = []+ }+ "c'")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 23 256 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 23 256 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 256+ 23+ 256+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 25 256 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 25 256 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 256+ 25+ 256+ 26+ , srcInfoPoints = []+ }+ "c")))))+ Nothing+ ]))+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9+ , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30+ , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3+ , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3+ , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ "Sorted")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10+ , srcInfoPoints = []+ }+ "pointed"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+ , srcInfoPoints = []+ }+ "a")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10+ , srcInfoPoints = []+ }+ "pointed")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ "Sorted")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6+ , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21+ , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3+ , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+ , srcInfoPoints = []+ }+ "IsZero"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ "Bool")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+ , srcInfoPoints = []+ }+ "WrappedNumEq"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39+ , srcInfoPoints = []+ }+ "WrappedNumEq")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+ , srcInfoPoints = []+ }+ "WrappedShow"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38+ , srcInfoPoints = []+ }+ "WrappedShow")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+ , srcInfoPoints = []+ }+ "WrappedNumEq2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40+ , srcInfoPoints = []+ }+ "WrappedNumEq2")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9+ , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56+ , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3+ , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3+ , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11+ , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17+ , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23+ , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35+ , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11+ , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+ , srcInfoPoints = []+ }+ "WrappedNumEq"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+ , srcInfoPoints = []+ }+ 0+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9+ , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48+ , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3+ , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3+ , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28+ , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11+ , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+ , srcInfoPoints = []+ }+ "WrappedShow"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+ , srcInfoPoints = []+ }+ "0"+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ "==")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ "show")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9+ , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57+ , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3+ , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3+ , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11+ , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17+ , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23+ , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35+ , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11+ , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+ , srcInfoPoints = []+ }+ "WrappedNumEq2"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ "a"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+ , srcInfoPoints = []+ }+ "INT"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18+ , srcInfoPoints = []+ }+ "INT")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24+ , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ "Int")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+ , srcInfoPoints = []+ }+ "VOID"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20+ , srcInfoPoints = []+ }+ "VOID")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ "Void"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47+ , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ "Void")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6+ , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43+ , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3+ , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3+ , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+ , srcInfoPoints = []+ }+ "p"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+ , srcInfoPoints = []+ }+ "Biapplicative"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9+ , srcInfoPoints = []+ }+ "bipure"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+ , srcInfoPoints = []+ }+ "b"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+ , srcInfoPoints = []+ }+ "b"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11+ , srcInfoPoints = []+ }+ "biliftA2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9+ , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+ , srcInfoPoints = []+ }+ "c")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9+ , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+ , srcInfoPoints = []+ }+ "a'"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+ , srcInfoPoints = []+ }+ "b'"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+ , srcInfoPoints = []+ }+ "c'")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+ , srcInfoPoints = []+ }+ "a'")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 300 8 300 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 300 10 300 11+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+ , srcInfoPoints = []+ }+ "b'")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 301 8 301 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 301 10 301 11+ , srcInfoPoints = []+ }+ "c")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+ , srcInfoPoints = []+ }+ "c'"))))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9+ , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33+ , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3+ , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3+ , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ "Biapplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ Boxed+ 2)))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+ , srcInfoPoints = []+ }+ "bipure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ Boxed+ 2))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11+ , srcInfoPoints = []+ }+ "biliftA2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+ , srcInfoPoints = []+ }+ "f'")+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18+ , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20+ , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+ , srcInfoPoints = []+ }+ "a'")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26+ , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28+ , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+ , srcInfoPoints = []+ }+ "b'")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6+ , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12+ , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ "b")))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ "f'")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ "a'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ "b'")))+ ]))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+ , srcInfoPoints = []+ }+ "WrapBiapp"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+ , srcInfoPoints = []+ }+ "p")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35+ , srcInfoPoints = []+ }+ "WrapBiap")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37+ , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+ , srcInfoPoints = []+ }+ "b")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11+ , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21+ , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31+ , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46+ , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ "Bifunctor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ "Biapplicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9+ , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72+ , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3+ , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3+ , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3+ , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3+ , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3+ , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3+ , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3+ , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11+ , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27+ , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34+ , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41+ , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+ , srcInfoPoints = []+ }+ "Biapplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+ , srcInfoPoints = []+ }+ "p")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50+ , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ "WrapBiapp")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4+ , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+ , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+ , srcInfoPoints = []+ }+ "+"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+ , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+ , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , srcInfoPoints = []+ }+ "+"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+ , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+ , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4+ , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+ , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+ , srcInfoPoints = []+ }+ "-"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+ , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+ , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , srcInfoPoints = []+ }+ "*"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+ , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+ , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4+ , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+ , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+ , srcInfoPoints = []+ }+ "*"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+ , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+ , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , srcInfoPoints = []+ }+ "*"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+ , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+ , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+ , srcInfoPoints = []+ }+ "negate"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ "negate")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+ , srcInfoPoints = []+ }+ "abs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ "abs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ "abs")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+ , srcInfoPoints = []+ }+ "signum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ "signum"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ "signum")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14+ , srcInfoPoints = []+ }+ "fromInteger")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ "fromInteger")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ "n"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+ , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+ , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , srcInfoPoints = []+ }+ "bipure")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ "fromInteger")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ "n"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+ , srcInfoPoints = []+ }+ "INT2"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20+ , srcInfoPoints = []+ }+ "INT2")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22+ , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26+ , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ "Int"))+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24+ , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39+ , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ "WrapBiapp")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 50+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 50 322 51+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 51 322 52+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 50+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 50 322 51+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 51 322 52+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 49+ 322+ 50+ , SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 50+ 322+ 51+ , SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 51+ 322+ 52+ ]+ }+ Boxed+ 2))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ "Int")))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6+ , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37+ , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3+ , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+ , srcInfoPoints = []+ }+ "a"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+ , srcInfoPoints = []+ }+ "MonoidNull"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7+ , srcInfoPoints = []+ }+ "null"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ "Bool")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+ , srcInfoPoints = []+ }+ "WrpMonNull"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27+ , srcInfoPoints = []+ }+ "WRM")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38+ , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40+ , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43+ , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54+ , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9+ , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61+ , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3+ , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3+ , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11+ , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16+ , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26+ , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42+ , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7+ , srcInfoPoints = []+ }+ "null"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+ , srcInfoPoints = []+ }+ "null"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11+ , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ "mempty")))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9+ , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15+ , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ "Any")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ "Any")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9+ , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ })))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ })))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9+ , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ "Ordering")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ "Ordering")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6+ , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22+ , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3+ , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3+ , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3+ , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+ , srcInfoPoints = []+ }+ "Lattice"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6+ , srcInfoPoints = []+ }+ "sup"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4+ , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7+ , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8+ ]+ }+ ".>="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4+ , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6+ , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7+ ]+ }+ ".>"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ "Bool"))))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+ , srcInfoPoints = []+ }+ "WrapOrd"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31+ , srcInfoPoints = []+ }+ "WrappedOrd")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11+ , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21+ , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24+ , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ "Ord")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9+ , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44+ , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3+ , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3+ , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3+ , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28+ , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ "WrapOrd")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+ , srcInfoPoints = []+ }+ "sup"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ "max"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4+ , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+ , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+ , srcInfoPoints = []+ }+ ".>="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+ , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+ , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , srcInfoPoints = []+ }+ ">="))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4+ , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+ , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+ , srcInfoPoints = []+ }+ ".>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+ , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+ , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , srcInfoPoints = []+ }+ ">"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9+ , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13+ , srcInfoPoints = []+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15+ , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57+ , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+ , srcInfoPoints = []+ }+ "a")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9+ , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15+ , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17+ , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+ , srcInfoPoints = []+ }+ "b")+ ])))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31+ , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37+ , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44+ , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57+ , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59+ , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+ , srcInfoPoints = []+ }+ "b")+ ])))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9+ , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ "Bool")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ "Bool")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9+ , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ "Char")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ "Char")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9+ , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ "Int")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ "Int")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9+ , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ "Integer")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ "Integer")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9+ , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ "Float")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ "Float")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9+ , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ "Double")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ "Double")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9+ , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ "Rational")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ "Rational")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6+ , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36+ , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3+ , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3+ , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3+ , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3+ , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3+ , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3+ , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+ , srcInfoPoints = []+ }+ "Functor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+ , srcInfoPoints = []+ }+ "f"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+ , srcInfoPoints = []+ }+ "Additive"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7+ , srcInfoPoints = []+ }+ "zero"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 381 11 381 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+ , srcInfoPoints = []+ }+ "a"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4+ , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7+ , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8+ ]+ }+ "^+^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 382 12 382 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4+ , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+ , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+ , srcInfoPoints = []+ }+ "^+^"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ "liftU2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+ , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+ , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4+ , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7+ , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8+ ]+ }+ "^-^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 384 12 384 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8+ , srcInfoPoints = []+ }+ "^-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ "^+^")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ "y"))))))+ Nothing+ ])+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9+ , srcInfoPoints = []+ }+ "liftU2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14+ , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+ , srcInfoPoints = []+ }+ "a")))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9+ , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27+ , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3+ , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ })))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11+ , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12+ ]+ }+ []))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ "go"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5+ , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5+ , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7+ , srcInfoPoints = []+ }+ "go")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 8 391 9+ , SrcSpan+ "tests/examples/DerivingVia.hs" 391 13 391 14+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 9 391 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 9 391 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 9+ 391+ 10+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 10+ 391+ 11+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 10+ 391+ 11+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 11+ 391+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 11+ 391+ 13+ , srcInfoPoints = []+ }+ "xs")))+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 15 391 21+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 15 391 16+ , SrcSpan+ "tests/examples/DerivingVia.hs" 391 20 391 21+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 16 391 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 16+ 391+ 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 16+ 391+ 17+ , srcInfoPoints = []+ }+ "y"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 17+ 391+ 18+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 17+ 391+ 18+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 18+ 391+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 18+ 391+ 20+ , srcInfoPoints = []+ }+ "ys")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 22 391 23+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 24 391 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 24 391 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ "y"))))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 30 391 31+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 30+ 391+ 31+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 30+ 391+ 31+ , srcInfoPoints = []+ })))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 32 391 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ "go")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ "xs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ "ys"))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7+ , srcInfoPoints = []+ }+ "go")+ [ PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 392 8 392 9+ , SrcSpan+ "tests/examples/DerivingVia.hs" 392 9 392 10+ ]+ }+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 11 392 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 11 392 13+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 392 14 392 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 16 392 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 16 392 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 392+ 16+ 392+ 18+ , srcInfoPoints = []+ }+ "ys"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7+ , srcInfoPoints = []+ }+ "go")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 8 393 10+ , srcInfoPoints = []+ }+ "xs")+ , PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 11 393 13+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 393 11 393 12+ , SrcSpan+ "tests/examples/DerivingVia.hs" 393 12 393 13+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 393 14 393 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 16 393 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 16 393 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 393+ 16+ 393+ 18+ , srcInfoPoints = []+ }+ "xs"))))+ Nothing+ ]+ ]))+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9+ , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30+ , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3+ , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3+ , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3+ , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3+ , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ "Nothing"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13+ , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+ , srcInfoPoints = []+ }+ "a")+ ])+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22+ , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+ , srcInfoPoints = []+ }+ "b")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ "Just")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38+ , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 38 397 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 38 397 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 397+ 38+ 397+ 39+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 40 397 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 40 397 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 397+ 40+ 397+ 41+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11+ , srcInfoPoints = []+ }+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ "ys"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+ , srcInfoPoints = []+ }+ "xs")+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ "xs"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9+ , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61+ , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3+ , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3+ , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+ , srcInfoPoints = []+ }+ "f"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37+ , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+ , srcInfoPoints = []+ }+ 0+ "0"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+ , srcInfoPoints = []+ }+ "liftU2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ "liftA2"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9+ , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15+ , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32+ , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+ , srcInfoPoints = []+ }+ "a"))))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60+ , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9+ , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15+ , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ "Complex")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ "Complex")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9+ , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15+ , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ "Identity")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ "Identity")))))+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9+ , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32+ , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3+ , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3+ , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ "ZipList")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ "ZipList")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19+ , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20+ ]+ }+ [])))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13+ , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+ , srcInfoPoints = []+ }+ "ZipList"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+ , srcInfoPoints = []+ }+ "xs")+ ])+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26+ , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+ , srcInfoPoints = []+ }+ "ZipList"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+ , srcInfoPoints = []+ }+ "ys")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ "ZipList")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49+ , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 49 411 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 49 411 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 49+ 411+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 49+ 411+ 55+ , srcInfoPoints = []+ }+ "liftU2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 56 411 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 56+ 411+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 56+ 411+ 57+ , srcInfoPoints = []+ }+ "f"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 58 411 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 58 411 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 58+ 411+ 60+ , srcInfoPoints = []+ }+ "xs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ "ys")))))))+ Nothing+ ])+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6+ , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42+ , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3+ , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3+ , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3+ , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3+ , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3+ , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17+ , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+ , srcInfoPoints = []+ }+ "p"))))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+ , srcInfoPoints = []+ }+ "Affine"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+ , srcInfoPoints = []+ }+ "Diff"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+ , srcInfoPoints = []+ }+ "p")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ "Type"))))))+ Nothing+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4+ , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7+ , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8+ ]+ }+ ".-."+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 416 12 416 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4+ , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7+ , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8+ ]+ }+ ".+^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 417 12 417 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4+ , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7+ , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8+ ]+ }+ ".-^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 418 12 418 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+ , srcInfoPoints = []+ }+ "p"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8+ , srcInfoPoints = []+ }+ ".-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+ , srcInfoPoints = []+ }+ "v")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ ".+^")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ "v"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+ , srcInfoPoints = []+ }+ "WrapAdditive"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43+ , srcInfoPoints = []+ }+ "WrappedAdditive")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45+ , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9+ , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53+ , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3+ , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3+ , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3+ , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3+ , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+ , srcInfoPoints = []+ }+ "f"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ "Affine")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 32+ , SrcSpan "tests/examples/DerivingVia.hs" 427 46 427 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 7+ , SrcSpan "tests/examples/DerivingVia.hs" 428 30 428 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ "Diff")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 14+ , SrcSpan "tests/examples/DerivingVia.hs" 428 28 428 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+ , srcInfoPoints = []+ }+ "f")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+ , srcInfoPoints = []+ }+ "f"))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 21 430 24+ , srcInfoPoints = []+ }+ ".-.")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+ , srcInfoPoints = []+ }+ "b")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 44 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ "^-^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ ])+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 21 431 24+ , srcInfoPoints = []+ }+ ".+^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 54+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ "WrappedAdditive")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 46+ , SrcSpan "tests/examples/DerivingVia.hs" 431 53 431 54+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 53+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ "^+^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ])+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 21 432 24+ , srcInfoPoints = []+ }+ ".-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 54+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ "WrappedAdditive")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 46+ , SrcSpan "tests/examples/DerivingVia.hs" 432 53 432 54+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 53+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ "^-^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ])+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 9+ , SrcSpan "tests/examples/DerivingVia.hs" 435 38 435 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 10 435 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 15+ , SrcSpan "tests/examples/DerivingVia.hs" 435 36 435 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 29+ , SrcSpan "tests/examples/DerivingVia.hs" 435 35 435 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+ , srcInfoPoints = []+ }+ "a"))))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 55+ , SrcSpan "tests/examples/DerivingVia.hs" 435 61 435 62+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 9+ , SrcSpan "tests/examples/DerivingVia.hs" 437 38 437 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 10 437 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 15+ , SrcSpan "tests/examples/DerivingVia.hs" 437 30 437 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ })))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ })))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 9+ , SrcSpan "tests/examples/DerivingVia.hs" 439 38 439 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 10 439 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 15+ , SrcSpan "tests/examples/DerivingVia.hs" 439 35 439 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ "Complex")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ "Complex")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 9+ , SrcSpan "tests/examples/DerivingVia.hs" 441 38 441 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 10 441 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 15+ , SrcSpan "tests/examples/DerivingVia.hs" 441 33 441 34+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ "Maybe")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ "Maybe")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 9+ , SrcSpan "tests/examples/DerivingVia.hs" 443 38 443 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 10 443 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 15+ , SrcSpan "tests/examples/DerivingVia.hs" 443 35 443 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ "ZipList")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ "ZipList")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 9+ , SrcSpan "tests/examples/DerivingVia.hs" 445 38 445 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 10 445 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 15+ , SrcSpan "tests/examples/DerivingVia.hs" 445 36 445 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ "Identity")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ "Identity")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 1 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 6+ , SrcSpan "tests/examples/DerivingVia.hs" 451 16 451 21+ , SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 3+ , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 13+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+ , srcInfoPoints = []+ }+ "C2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+ , srcInfoPoints = []+ }+ "c")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 5+ , srcInfoPoints = []+ }+ "c2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 11 452 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 16 452 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+ , srcInfoPoints = []+ }+ "c")))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 454 1 457 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 9+ , SrcSpan "tests/examples/DerivingVia.hs" 454 29 454 34+ , SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 3+ , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 16+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 14+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ "C2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+ , srcInfoPoints = []+ }+ "b")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 18+ , SrcSpan "tests/examples/DerivingVia.hs" 454 27 454 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ "Const")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 5+ , srcInfoPoints = []+ }+ "c2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+ , srcInfoPoints = []+ }+ "x")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 8 455 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ "Const")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 1 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 457 18 457 19 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+ , srcInfoPoints = []+ }+ "Fweemp"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 26+ , srcInfoPoints = []+ }+ "Fweemp")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 8 459 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 13+ , SrcSpan "tests/examples/DerivingVia.hs" 459 32 459 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ "Const")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+ , srcInfoPoints = []+ }+ "a")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 22+ , SrcSpan "tests/examples/DerivingVia.hs" 459 24 459 26+ , SrcSpan "tests/examples/DerivingVia.hs" 459 31 459 32+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ "Type"))))))))+ [ IParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 13+ , SrcSpan "tests/examples/DerivingVia.hs" 458 19 458 20+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 17+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ "C2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+ , srcInfoPoints = []+ }+ "b"))))+ ]+ ]+ ]+ , [ Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 38 1 38 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 39 1 39 18)+ " Simple example"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 40 1 40 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 46 1 46 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 47 1 47 25)+ " Eta reduction at work"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 48 1 48 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 62 1 62 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 63 1 63 22)+ " Monad transformers"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 64 1 64 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 68 1 68 22)+ " From `constraints'"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 78 1 78 52)+ " With `-XQuantifiedConstraints' this just becomes"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 79 1 79 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 80 1 80 68)+ " type Lifting cls trans = forall mm. cls mm => cls (trans mm)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 81 1 81 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 82 1 82 52)+ " type LiftingMonad trans = Lifting Monad trans"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 83 1 83 3) ""+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 142 1 142 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 143 1 143 32)+ " Using tuples in a `via` type"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 144 1 144 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 153 1 153 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 154 1 154 23)+ " Abstract data types"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 155 1 155 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 167 1 167 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 168 1 168 18)+ " Testing parser"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 169 1 169 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 183 1 183 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 184 1 184 23)+ " From Baldur's notes"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 185 1 185 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 187 1 187 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 188 1 188 5) " 1"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 189 1 189 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 227 1 227 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 228 1 228 5) " 2"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 229 1 229 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 243 1 243 8) " data"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 262 1 262 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 263 1 263 5) " 3"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 264 1 264 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 290 1 290 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 291 1 291 5) " 4"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 292 1 292 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 324 1 324 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 325 1 325 5) " 5"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 326 1 326 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 340 1 340 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 341 1 341 5) " 6"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 342 1 342 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 343 1 343 116)+ " https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 360 1 360 19)+ "mkLattice_(Bool)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 362 1 362 19)+ "mkLattice_(Char)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 364 1 364 18)+ "mkLattice_(Int)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 366 1 366 22)+ "mkLattice_(Integer)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 368 1 368 20)+ "mkLattice_(Float)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 370 1 370 21)+ "mkLattice_(Double)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 372 1 372 23)+ "mkLattice_(Rational)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 375 1 375 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 376 1 376 5) " 7"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 377 1 377 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 378 1 378 81)+ " https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 421 1 421 79)+ " #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \\"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 422 1 422 85)+ " (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \\"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 423 1 423 42)+ " (.-^) = (^-^) ; {-# INLINE (.-^) #-}"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 424 1 424 40)+ " #define ADDITIVE(T) ADDITIVEC((), T)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 434 1 434 22)+ " ADDITIVE(((->) a))"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 436 1 436 16)+ " ADDITIVE([])"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 438 1 438 21)+ " ADDITIVE(Complex)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 440 1 440 19)+ " ADDITIVE(Maybe)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 442 1 442 21)+ " ADDITIVE(ZipList)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 444 1 444 22)+ " ADDITIVE(Identity)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 447 1 447 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 448 1 448 5) " 8"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 449 1 449 5) "--"+ ]+ )
+ tests/examples/DerivingVia.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia.hs.prettyprinter.golden view
@@ -0,0 +1,418 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where+import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))+import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx . f xx -> g xx++data Foo a = MkFoo a a+ deriving Show via (Identity (Foo a))++newtype Flip p a b = Flip{runFlip :: p b a}++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving Functor via (Flip Either Int)++type MTrans = (Type -> Type) -> (Type -> Type)++data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\++(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') =>+ LiftingMonad (ComposeT trans trans' :: MTrans)+ where+ proof :: forall m . Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack ::+ ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype (Functor, Applicative, Monad, MonadReader Int,+ MonadState Bool, MonadWriter String)+ deriving (MonadTrans, MFunctor) via (ReaderT Int `ComposeT`+ StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`++newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: {getComposeT :: f (g m) a} -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) =>+ MonadTrans (ComposeT f g)+ where+ lift :: forall m . Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) =>+ MFunctor (ComposeT f g)+ where+ hoist ::+ forall m m' . Monad m =>+ (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT \\ proof @g @m++newtype X a = X (a, a)+ deriving (Semigroup, Monoid) via (Product a, Sum a)+ deriving (Show, Eq) via (a, a)++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via (X2 IO) instance C IO++newtype P0 a = P0 a+ deriving Show via a++newtype P1 a = P1 [a]+ deriving Show via [a]++newtype P2 a = P2 (a, a)+ deriving Show via (a, a)++newtype P3 a = P3 (Maybe a)+ deriving Show via (First a)++newtype P4 a = P4 (Maybe a)+ deriving Show via (First $ a)++newtype P5 a = P5 a+ deriving Show via (Identity $ a)++newtype P6 a = P6 [a]+ deriving Show via ([] $ a)++newtype P7 a = P7 (a, a)+ deriving Show via (Identity $ (a, a))++newtype P8 a = P8 (Either () a)+ deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a)+ deriving newtype Show+ deriving newtype Functor++newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) =>+ Fractional (WrapApplicative f a)+ where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) =>+ Floating (WrapApplicative f a)+ where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) =>+ Semigroup (WrapApplicative f s)+ where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m)+ where+ mempty = pure mempty++class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++data Sorted a = Sorted a a a+ deriving (Functor, Applicative) via (WrapMonad Sorted)+ deriving (Num, Fractional, Floating, Semigroup,+ Monoid) via (WrapApplicative Sorted a)++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c'+ where Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a++newtype WrappedShow a = WrappedShow a++newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void+ deriving IsZero via (WrappedShow Void)++class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b+ + biliftA2 ::+ (a -> b -> c) -> (a' -> b' -> c') -> p a a' -> p b b' -> p c c'++instance Biapplicative (,) where+ bipure = (,)+ biliftA2 f f' (a, a') (b, b') = (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b)+ where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a+ deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any++deriving via () instance MonoidNull ()++deriving via Ordering instance MonoidNull Ordering++class Lattice a where+ sup :: a -> a -> a+ + (.>=) :: a -> a -> Bool+ + (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]++deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)++deriving via Bool instance Lattice Bool++deriving via Char instance Lattice Char++deriving via Int instance Lattice Int++deriving via Integer instance Lattice Integer++deriving via Float instance Lattice Float++deriving via Double instance Lattice Double++deriving via Rational instance Lattice Rational++class Functor f => Additive f where+ zero :: Num a => f a+ + (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ + (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ + liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go+ where go (x : xs) (y : ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)++deriving via (WrapApplicative Complex) instance Additive Complex++deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type+ + (.-.) :: Num a => p a -> p a -> Diff p a+ + (.+^) :: Num a => p a -> Diff p a -> p a+ + (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f+ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)++deriving via (WrapAdditive []) instance Affine []++deriving via (WrapAdditive Complex) instance Affine Complex++deriving via (WrapAdditive Maybe) instance Affine Maybe++deriving via (WrapAdditive ZipList) instance Affine ZipList++deriving via (WrapAdditive Identity) instance Affine Identity++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving (C2 a b) via (Const a (b :: Type))
+ tests/examples/DerivingVia2.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype+ (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a)+ instance (Applicative f, Applicative g, Semigroup a)+ => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via (forall a. T a) instance Z a (X1 b)+deriving via (T a) instance forall b. Z a (X2 b)+deriving via (forall a. T a) instance forall b. Z a (X3 b)
+ tests/examples/DerivingVia2.hs.exactprinter.golden view
@@ -0,0 +1,42 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype+ (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via( App (Compose (f :: * -> *) g) a)+ instance (Applicative f, Applicative g, Semigroup a)+ => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via( Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via( forall a. T a) instance Z a (X1 b)+deriving via( T a) instance forall b. Z a (X2 b)+deriving via( forall a. T a) instance forall b. Z a (X3 b)+
+ tests/examples/DerivingVia2.hs.parser.golden view
@@ -0,0 +1,2346 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 42 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 7+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 21 9 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 8 9 20+ , srcInfoPoints = []+ }+ "DerivingVia2")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 2 26 2 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 14 2 25+ , srcInfoPoints = []+ }+ "DerivingVia"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 3 32 3 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 14 3 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 4 41 4 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 14 4 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 5 36 5 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 14 5 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 6 24 6 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 14 6 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 7 25 7 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 14 7 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 8 33 8 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 14 8 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 8 11 27+ , srcInfoPoints = []+ }+ "Control.Applicative"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 8 12 28+ , srcInfoPoints = []+ }+ "Data.Functor.Compose"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 8 13 18+ , srcInfoPoints = []+ }+ "Data.Proxy"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 8 14 22+ , srcInfoPoints = []+ }+ "Data.Semigroup"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 29 16 30 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 28+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 26+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+ , srcInfoPoints = []+ }+ "App"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 16 16 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 25 16 26+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 21 16 23 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 20+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 24 16 25+ , srcInfoPoints = []+ }))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 34+ , srcInfoPoints = []+ }+ "App")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 36+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 39 16 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 39+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 17 3 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 17 3 17 11+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 5 18 6+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 13 18 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 26 18 27+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 17 12 17 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 20 1 23 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 62 20 67+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 3+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 61+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 11+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 24 20 25+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 37 20 38+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 39 20 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 53+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 60 20 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ "App")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 4+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 6 21 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+ , srcInfoPoints = []+ }+ "<>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , srcInfoPoints = []+ }+ "<>")))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 23 1 25 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 10 24 18+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 46 23 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 46+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 44+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ "App")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 43 23 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ "Compose")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 29+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 31 23 33+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 40 23 41+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 29 23 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 29 23 30+ , srcInfoPoints = []+ }+ "f"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 34 23 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 36 23 38+ ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 34 23 35+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 39 23 40+ , srcInfoPoints = []+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+ , srcInfoPoints = []+ }+ "g")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 44+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 24 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 33 24 34+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 48 24 49+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 61 24 62+ , SrcSpan "tests/examples/DerivingVia2.hs" 25 16 25 18+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 30+ , SrcSpan "tests/examples/DerivingVia2.hs" 25 43 25 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ "Compose")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+ , srcInfoPoints = []+ }+ "a"))))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+ , srcInfoPoints = []+ }+ "C"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 10+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 12 27 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 21 27 22+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 10 27 11+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 17 27 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 20 27 21+ , srcInfoPoints = []+ }))))+ []+ Nothing+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 9 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ "Proxy")))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 30 19 30 20 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+ , srcInfoPoints = []+ }+ "MyProxy"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 28+ , srcInfoPoints = []+ }+ "MyProxy")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 30+ , SrcSpan "tests/examples/DerivingVia2.hs" 30 37 30 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 32 31 40+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 10 31 13+ , srcInfoPoints = []+ }+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 21 31 23+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 30 31 31+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 26 31 28 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 25+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 29 31 30+ , srcInfoPoints = []+ })))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ "MyProxy")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 12+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+ , srcInfoPoints = []+ }+ "Z"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+ , srcInfoPoints = []+ }+ "b")))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 9+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+ , srcInfoPoints = []+ }+ "T"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+ , srcInfoPoints = []+ }+ "X1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+ , srcInfoPoints = []+ }+ "X2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+ , srcInfoPoints = []+ }+ "X3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 30 39 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 28 39 29+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 21+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 23 39 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 58 39 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ "X1")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+ , srcInfoPoints = []+ }+ "b"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 30 40 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 10 40 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 25+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 28 40 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 45+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 47 40 48+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 58 40 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ "X2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+ , srcInfoPoints = []+ }+ "b"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 30 41 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 10 41 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 28 41 29+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 21+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 23 41 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 45+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 47 41 48+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 58 41 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ "X3")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+ , srcInfoPoints = []+ }+ "b"))))))+ ]+ , []+ )
+ tests/examples/DerivingVia2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia2.hs.prettyprinter.golden view
@@ -0,0 +1,47 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where+import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a) instance+ (Applicative f, Applicative g, Semigroup a) =>+ Semigroup (Compose f g a)++class C (a :: k -> *)++instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)++deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b++data T a++data X1 a++data X2 a++data X3 a++deriving via (forall a . T a) instance Z a (X1 b)++deriving via (T a) instance forall b . Z a (X2 b)++deriving via (forall a . T a) instance forall b . Z a (X3 b)
+ tests/examples/DerivingViaStealing.hs view
@@ -0,0 +1,5 @@+module DerivingViaStealing where++via = ()+stock = ()+anyclass = ()
+ tests/examples/DerivingViaStealing.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.parser.golden view
@@ -0,0 +1,201 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 7+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 28 1 33+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 8 1 27+ , srcInfoPoints = []+ }+ "DerivingViaStealing")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "via"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ "stock"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 8 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+ , srcInfoPoints = []+ }+ "anyclass"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }))))+ Nothing+ ]+ , []+ )
+ tests/examples/DerivingViaStealing.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module DerivingViaStealing where+via = ()+stock = ()+anyclass = ()
tests/examples/Directory.hs.parser.golden view
@@ -474,6 +474,11 @@ , SrcSpan "tests/examples/Directory.hs" 61 7 61 8 ] }+ (NoWildcard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ }) (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 55 7 55 18@@ -1294,112 +1299,113 @@ "Bool"))) ]) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 6 138 36- , srcInfoPoints =- [ SrcSpan "tests/examples/Directory.hs" 138 6 138 14- , SrcSpan "tests/examples/Directory.hs" 138 15 138 16- , SrcSpan "tests/examples/Directory.hs" 138 18 138 19- , SrcSpan "tests/examples/Directory.hs" 138 23 138 24- , SrcSpan "tests/examples/Directory.hs" 138 29 138 30- , SrcSpan "tests/examples/Directory.hs" 138 35 138 36- ]- }- [ IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18- , srcInfoPoints = []- }- "Eq")))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23- , srcInfoPoints = []- }- "Ord")))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29- , srcInfoPoints = []- }- "Read")))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35- , srcInfoPoints = []- }- "Show")))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 6 138 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Directory.hs" 138 6 138 14+ , SrcSpan "tests/examples/Directory.hs" 138 15 138 16+ , SrcSpan "tests/examples/Directory.hs" 138 18 138 19+ , SrcSpan "tests/examples/Directory.hs" 138 23 138 24+ , SrcSpan "tests/examples/Directory.hs" 138 29 138 30+ , SrcSpan "tests/examples/Directory.hs" 138 35 138 36+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 16 138 18+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 20 138 23+ , srcInfoPoints = []+ }+ "Ord")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 25 138 29+ , srcInfoPoints = []+ }+ "Read")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 138 31 138 35+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ] , TypeSig SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 152 1 152 45@@ -25153,7 +25159,7 @@ "tests/examples/Directory.hs" 766 54 766 56 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan@@ -25167,7 +25173,7 @@ 56 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan@@ -25175,10 +25181,17 @@ 766 47 766- 51- , srcInfoPoints = []+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan@@ -25186,34 +25199,62 @@ 766 47 766- 51+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 51+ , srcInfoPoints = []+ }+ "Real")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 52+ 766+ 53 , srcInfoPoints = [] }- "Real"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/Directory.hs"- 766- 52- 766- 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/Directory.hs"- 766- 52- 766- 53- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 52+ 766+ 53+ , srcInfoPoints = []+ }+ "a")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/Directory.hs.prettyprinter.golden view
@@ -32,7 +32,7 @@ data Permissions = Permissions{readable, writable, executable, searchable :: Bool}- deriving (Eq, Ord, Read, Show)+ deriving (Eq, Ord, Read, Show) getPermissions :: FilePath -> IO Permissions getPermissions name
tests/examples/DoRec.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE DoRec #-}-module Main (main) where main = do rec let x = 1 return ()
+ tests/examples/DsStrictData.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}++-- | Tests the StrictData LANGUAGE pragma.+module Main where++import qualified Control.Exception as E+import System.IO.Unsafe (unsafePerformIO)++data Strict a = S a+data Strict2 b = S2 !b+data Strict3 c where+ S3 :: c -> Strict3 c++data UStrict = US {-# UNPACK #-} Int++data Lazy d = L ~d+data Lazy2 e where+ L2 :: ~e -> Lazy2 e++main :: IO ()+main =+ do print (isBottom (S bottom))+ print (isBottom (S2 bottom))+ print (isBottom (US bottom))+ print (isBottom (S3 bottom))+ putStrLn ""+ print (not (isBottom (L bottom)))+ print (not (isBottom (L2 bottom)))+ print (not (isBottom (Just bottom))) -- sanity check++------------------------------------------------------------------------+-- Support for testing for bottom++bottom :: a+bottom = error "_|_"++isBottom :: a -> Bool+isBottom f = unsafePerformIO $+ (E.evaluate f >> return False) `E.catches`+ [ E.Handler (\(_ :: E.ArrayException) -> return True)+ , E.Handler (\(_ :: E.ErrorCall) -> return True)+ , E.Handler (\(_ :: E.NoMethodError) -> return True)+ , E.Handler (\(_ :: E.NonTermination) -> return True)+ , E.Handler (\(_ :: E.PatternMatchFail) -> return True)+ , E.Handler (\(_ :: E.RecConError) -> return True)+ , E.Handler (\(_ :: E.RecSelError) -> return True)+ , E.Handler (\(_ :: E.RecUpdError) -> return True)+ ]
+ tests/examples/DsStrictData.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DsStrictData.hs.parser.golden view
@@ -0,0 +1,3591 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 49 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 1+ , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1+ , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1+ , SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 1+ , SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 1+ , SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 1+ , SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 1+ , SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 1+ , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 1+ , SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 1+ , SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 1+ , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 1+ , SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 1+ , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 1+ , SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 1+ , SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 1+ , SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 1+ , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1+ , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 7+ , SrcSpan "tests/examples/DsStrictData.hs" 4 13 4 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "Main")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 13+ , SrcSpan "tests/examples/DsStrictData.hs" 1 33 1 34+ , SrcSpan "tests/examples/DsStrictData.hs" 1 45 1 46+ , SrcSpan "tests/examples/DsStrictData.hs" 1 53 1 56+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 35 1 45+ , srcInfoPoints = []+ }+ "StrictData"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 47 1 52+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 7+ , SrcSpan "tests/examples/DsStrictData.hs" 6 8 6 17+ , SrcSpan "tests/examples/DsStrictData.hs" 6 36 6 38+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 18 6 35+ , srcInfoPoints = []+ }+ "Control.Exception"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 39 6 40+ , srcInfoPoints = []+ }+ "E")+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 8 7 24+ , srcInfoPoints = []+ }+ "System.IO.Unsafe"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 26+ , SrcSpan "tests/examples/DsStrictData.hs" 7 41 7 42+ ]+ }+ False+ [ IVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41+ , srcInfoPoints = []+ }+ "unsafePerformIO")+ ])+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 9 15 9 16 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12+ , srcInfoPoints = []+ }+ "Strict"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 18+ , srcInfoPoints = []+ }+ "S")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 10 16 10 17 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13+ , srcInfoPoints = []+ }+ "Strict2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 20+ , srcInfoPoints = []+ }+ "S2")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 23+ , srcInfoPoints = []+ }+ (BangedTy+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 22+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23+ , srcInfoPoints = []+ }+ "b"))+ ])+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 14 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 11 16 11 21+ , SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 3+ , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13+ , srcInfoPoints = []+ }+ "Strict3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15+ , srcInfoPoints = []+ }+ "c")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 12 6 12 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 5+ , srcInfoPoints = []+ }+ "S3")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 12 11 12 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10+ , srcInfoPoints = []+ }+ "c"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21+ , srcInfoPoints = []+ }+ "Strict3")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23+ , srcInfoPoints = []+ }+ "c"))))+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 14 14 14 15 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13+ , srcInfoPoints = []+ }+ "UStrict"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 18+ , srcInfoPoints = []+ }+ "US")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 37+ , srcInfoPoints = []+ }+ (NoStrictAnnot+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (Unpack+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 29+ , SrcSpan "tests/examples/DsStrictData.hs" 14 30 14 33+ ]+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37+ , srcInfoPoints = []+ }+ "Int")))+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 16 13 16 14 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10+ , srcInfoPoints = []+ }+ "Lazy"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12+ , srcInfoPoints = []+ }+ "d")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ "L")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 19+ , srcInfoPoints = []+ }+ (LazyTy+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 18+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19+ , srcInfoPoints = []+ }+ "d"))+ ])+ ]+ []+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 20 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 17 14 17 19+ , SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 3+ , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11+ , srcInfoPoints = []+ }+ "Lazy2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13+ , srcInfoPoints = []+ }+ "e")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 18 6 18 8 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 5+ , srcInfoPoints = []+ }+ "L2")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 18 12 18 14 ]+ }+ (TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 11+ , srcInfoPoints = []+ }+ (LazyTy+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 10+ , srcInfoPoints = []+ })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11+ , srcInfoPoints = []+ }+ "e")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20+ , srcInfoPoints = []+ }+ "Lazy2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22+ , srcInfoPoints = []+ }+ "e"))))+ ]+ []+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 6 20 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 5+ , srcInfoPoints = []+ }+ "main"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11+ , srcInfoPoints = []+ }+ "IO")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+ , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+ , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13+ , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14+ ]+ }))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 29 42+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 6 29 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 21 6 21 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 3 29 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 22 3 22 5+ , SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 6+ , SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 6+ , SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 6+ , SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 6+ , SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 6+ , SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 6+ , SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 6+ , SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 6+ , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 13+ , SrcSpan "tests/examples/DsStrictData.hs" 22 32 22 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 23+ , SrcSpan "tests/examples/DsStrictData.hs" 22 31 22 32+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 31+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 22 23 22 24+ , srcInfoPoints = []+ }+ "S")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 22 25 22 31+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 13+ , SrcSpan "tests/examples/DsStrictData.hs" 23 33 23 34+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 23+ , SrcSpan "tests/examples/DsStrictData.hs" 23 32 23 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 23 23 23 25+ , srcInfoPoints = []+ }+ "S2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 23 26 23 32+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 13+ , SrcSpan "tests/examples/DsStrictData.hs" 24 33 24 34+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 23+ , SrcSpan "tests/examples/DsStrictData.hs" 24 32 24 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 24 23 24 25+ , srcInfoPoints = []+ }+ "US")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 24 26 24 32+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 13+ , SrcSpan "tests/examples/DsStrictData.hs" 25 33 25 34+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 23+ , SrcSpan "tests/examples/DsStrictData.hs" 25 32 25 33+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 25 23 25 25+ , srcInfoPoints = []+ }+ "S3")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 25 26 25 32+ , srcInfoPoints = []+ }+ "bottom"))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14+ , srcInfoPoints = []+ }+ "putStrLn")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17+ , srcInfoPoints = []+ }+ ""+ "")))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 13+ , SrcSpan "tests/examples/DsStrictData.hs" 27 38 27 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 18+ , SrcSpan "tests/examples/DsStrictData.hs" 27 37 27 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 18 27 26+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 28+ , SrcSpan "tests/examples/DsStrictData.hs" 27 36 27 37+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 27 28 27 36+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 28 27 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 28 27 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 27+ 28+ 27+ 29+ , srcInfoPoints = []+ }+ "L")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 30 27 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 27 30 27 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 27+ 30+ 27+ 36+ , srcInfoPoints = []+ }+ "bottom"))))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 13+ , SrcSpan "tests/examples/DsStrictData.hs" 28 39 28 40+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 18+ , SrcSpan "tests/examples/DsStrictData.hs" 28 38 28 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 18 28 26+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 28+ , SrcSpan "tests/examples/DsStrictData.hs" 28 37 28 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 28 28 28 37+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 28 28 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 28 28 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 28+ 28+ 28+ 30+ , srcInfoPoints = []+ }+ "L2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 31 28 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 28 31 28 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 28+ 31+ 28+ 37+ , srcInfoPoints = []+ }+ "bottom"))))))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 13+ , SrcSpan "tests/examples/DsStrictData.hs" 29 41 29 42+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ "not")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 18+ , SrcSpan "tests/examples/DsStrictData.hs" 29 40 29 41+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 18 29 26+ , srcInfoPoints = []+ }+ "isBottom")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 28+ , SrcSpan "tests/examples/DsStrictData.hs" 29 39 29 40+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 29 28 29 39+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 28 29 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 28 29 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 29+ 28+ 29+ 32+ , srcInfoPoints = []+ }+ "Just")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 33 29 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 29 33 29 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 29+ 33+ 29+ 39+ , srcInfoPoints = []+ }+ "bottom"))))))))))+ ]))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 34 8 34 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 7+ , srcInfoPoints = []+ }+ "bottom"+ ]+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12+ , srcInfoPoints = []+ }+ "a"))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7+ , srcInfoPoints = []+ }+ "bottom"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15+ , srcInfoPoints = []+ }+ "error")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21+ , srcInfoPoints = []+ }+ "_|_"+ "_|_"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 37 10 37 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 9+ , srcInfoPoints = []+ }+ "isBottom"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 37 15 37 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 9+ , srcInfoPoints = []+ }+ "isBottom")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 12 48 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 38 12 38 13 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 14 48 6+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29+ , srcInfoPoints = []+ }+ "unsafePerformIO")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 48 6+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 4+ , SrcSpan "tests/examples/DsStrictData.hs" 39 32 39 33+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14+ , srcInfoPoints = []+ }+ "evaluate")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19+ , srcInfoPoints = []+ }+ ">>")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32+ , srcInfoPoints = []+ }+ "False"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35+ , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35+ , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44+ , srcInfoPoints = []+ }+ "catches")))+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 5 48 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 5 40 6+ , SrcSpan "tests/examples/DsStrictData.hs" 41 5 41 6+ , SrcSpan "tests/examples/DsStrictData.hs" 42 5 42 6+ , SrcSpan "tests/examples/DsStrictData.hs" 43 5 43 6+ , SrcSpan "tests/examples/DsStrictData.hs" 44 5 44 6+ , SrcSpan "tests/examples/DsStrictData.hs" 45 5 45 6+ , SrcSpan "tests/examples/DsStrictData.hs" 46 5 46 6+ , SrcSpan "tests/examples/DsStrictData.hs" 47 5 47 6+ , SrcSpan "tests/examples/DsStrictData.hs" 48 5 48 6+ ]+ }+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 18+ , SrcSpan "tests/examples/DsStrictData.hs" 40 59 40 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 19+ , SrcSpan "tests/examples/DsStrictData.hs" 40 45 40 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 20+ , SrcSpan "tests/examples/DsStrictData.hs" 40 41 40 42+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 20 40 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 40 22 40 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 20 40 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 25 40 41+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 40+ 25+ 40+ 41+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 40+ 25+ 40+ 41+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 40+ 25+ 40+ 41+ , srcInfoPoints = []+ }+ "ArrayException"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 48 40 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 48 40 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 40 55 40 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 55 40 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 40 55 40 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 18+ , SrcSpan "tests/examples/DsStrictData.hs" 41 59 41 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 19+ , SrcSpan "tests/examples/DsStrictData.hs" 41 45 41 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 20+ , SrcSpan "tests/examples/DsStrictData.hs" 41 36 41 37+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 20 41 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 41 22 41 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 20 41 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 25 41 36+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 41+ 25+ 41+ 36+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 41+ 25+ 41+ 36+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 41+ 25+ 41+ 36+ , srcInfoPoints = []+ }+ "ErrorCall"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 48 41 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 48 41 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 41 55 41 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 55 41 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 41 55 41 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 18+ , SrcSpan "tests/examples/DsStrictData.hs" 42 59 42 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 19+ , SrcSpan "tests/examples/DsStrictData.hs" 42 45 42 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 20+ , SrcSpan "tests/examples/DsStrictData.hs" 42 40 42 41+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 20 42 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 42 22 42 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 20 42 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 25 42 40+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 42+ 25+ 42+ 40+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 42+ 25+ 42+ 40+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 42+ 25+ 42+ 40+ , srcInfoPoints = []+ }+ "NoMethodError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 48 42 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 48 42 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 42 55 42 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 55 42 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 42 55 42 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 18+ , SrcSpan "tests/examples/DsStrictData.hs" 43 59 43 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 19+ , SrcSpan "tests/examples/DsStrictData.hs" 43 45 43 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 20+ , SrcSpan "tests/examples/DsStrictData.hs" 43 41 43 42+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 20 43 41+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 43 22 43 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 20 43 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 25 43 41+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 43+ 25+ 43+ 41+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 43+ 25+ 43+ 41+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 43+ 25+ 43+ 41+ , srcInfoPoints = []+ }+ "NonTermination"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 48 43 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 48 43 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 43 55 43 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 55 43 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 43 55 43 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 18+ , SrcSpan "tests/examples/DsStrictData.hs" 44 59 44 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 19+ , SrcSpan "tests/examples/DsStrictData.hs" 44 45 44 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 20+ , SrcSpan "tests/examples/DsStrictData.hs" 44 43 44 44+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 20 44 43+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 44 22 44 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 20 44 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 25 44 43+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 44+ 25+ 44+ 43+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 44+ 25+ 44+ 43+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 44+ 25+ 44+ 43+ , srcInfoPoints = []+ }+ "PatternMatchFail"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 48 44 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 48 44 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 44 55 44 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 55 44 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 44 55 44 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 18+ , SrcSpan "tests/examples/DsStrictData.hs" 45 59 45 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 19+ , SrcSpan "tests/examples/DsStrictData.hs" 45 45 45 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 20+ , SrcSpan "tests/examples/DsStrictData.hs" 45 38 45 39+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 20 45 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 45 22 45 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 20 45 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 25 45 38+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 45+ 25+ 45+ 38+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 45+ 25+ 45+ 38+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 45+ 25+ 45+ 38+ , srcInfoPoints = []+ }+ "RecConError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 48 45 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 48 45 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 45 55 45 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 55 45 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 45 55 45 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 18+ , SrcSpan "tests/examples/DsStrictData.hs" 46 59 46 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 19+ , SrcSpan "tests/examples/DsStrictData.hs" 46 45 46 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 20+ , SrcSpan "tests/examples/DsStrictData.hs" 46 38 46 39+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 20 46 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 46 22 46 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 20 46 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 25 46 38+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 46+ 25+ 46+ 38+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 46+ 25+ 46+ 38+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 46+ 25+ 46+ 38+ , srcInfoPoints = []+ }+ "RecSelError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 48 46 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 48 46 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 46 55 46 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 55 46 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 46 55 46 59+ , srcInfoPoints = []+ }+ "True"))))))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 60+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16+ , srcInfoPoints = []+ }+ "Handler")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 18+ , SrcSpan "tests/examples/DsStrictData.hs" 47 59 47 60+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 19+ , SrcSpan "tests/examples/DsStrictData.hs" 47 45 47 47+ ]+ }+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 20+ , SrcSpan "tests/examples/DsStrictData.hs" 47 38 47 39+ ]+ }+ (PatTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 20 47 38+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DsStrictData.hs" 47 22 47 24+ ]+ }+ (PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 20 47 21+ , srcInfoPoints = []+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 25 47 38+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 47+ 25+ 47+ 38+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 47+ 25+ 47+ 38+ , srcInfoPoints = []+ }+ "E")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs"+ 47+ 25+ 47+ 38+ , srcInfoPoints = []+ }+ "RecUpdError"))))+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 59+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 48 47 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 48 47 54+ , srcInfoPoints = []+ }+ "return")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DsStrictData.hs" 47 55 47 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 55 47 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DsStrictData.hs" 47 55 47 59+ , srcInfoPoints = []+ }+ "True"))))))+ ]))))+ Nothing+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 3 1 3 43)+ " | Tests the StrictData LANGUAGE pragma."+ , Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 29 43 29 58)+ " sanity check"+ , Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 31 1 31 73)+ "----------------------------------------------------------------------"+ , Comment+ False+ (SrcSpan "tests/examples/DsStrictData.hs" 32 1 32 34)+ " Support for testing for bottom"+ ]+ )
+ tests/examples/DsStrictData.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DsStrictData.hs.prettyprinter.golden view
@@ -0,0 +1,45 @@+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}+module Main where+import qualified Control.Exception as E+import System.IO.Unsafe (unsafePerformIO)++data Strict a = S a++data Strict2 b = S2 !b++data Strict3 c where+ S3 :: c -> Strict3 c++data UStrict = US {-# UNPACK #-} Int++data Lazy d = L ~d++data Lazy2 e where+ L2 :: ~e -> Lazy2 e++main :: IO ()+main+ = do print (isBottom (S bottom))+ print (isBottom (S2 bottom))+ print (isBottom (US bottom))+ print (isBottom (S3 bottom))+ putStrLn ""+ print (not (isBottom (L bottom)))+ print (not (isBottom (L2 bottom)))+ print (not (isBottom (Just bottom)))++bottom :: a+bottom = error "_|_"++isBottom :: a -> Bool+isBottom f+ = unsafePerformIO $+ (E.evaluate f >> return False) `E.catches`+ [E.Handler (\ (_ :: E.ArrayException) -> return True),+ E.Handler (\ (_ :: E.ErrorCall) -> return True),+ E.Handler (\ (_ :: E.NoMethodError) -> return True),+ E.Handler (\ (_ :: E.NonTermination) -> return True),+ E.Handler (\ (_ :: E.PatternMatchFail) -> return True),+ E.Handler (\ (_ :: E.RecConError) -> return True),+ E.Handler (\ (_ :: E.RecSelError) -> return True),+ E.Handler (\ (_ :: E.RecUpdError) -> return True)]
tests/examples/EmptyAnn.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@ {-# ANN foo "Hlint: ignore Test4" #-}-module Main (main) where
+ tests/examples/EmptyCase.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE EmptyCase #-}+{-# LANGUAGE LambdaCase #-}++f x = case x of {}++g x = \case {}
+ tests/examples/EmptyCase.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyCase.hs.parser.golden view
@@ -0,0 +1,159 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 1+ , SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 1+ , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 1+ , SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 1+ , SrcSpan "tests/examples/EmptyCase.hs" 7 1 7 1+ , SrcSpan "tests/examples/EmptyCase.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 1 1 1 13+ , SrcSpan "tests/examples/EmptyCase.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "EmptyCase"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 2 1 2 13+ , SrcSpan "tests/examples/EmptyCase.hs" 2 25 2 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 2 14 2 24+ , srcInfoPoints = []+ }+ "LambdaCase"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 5 4 19+ , srcInfoPoints = [ SrcSpan "tests/examples/EmptyCase.hs" 4 5 4 6 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 7 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 4 7 4 11+ , SrcSpan "tests/examples/EmptyCase.hs" 4 14 4 16+ , SrcSpan "tests/examples/EmptyCase.hs" 4 17 4 18+ , SrcSpan "tests/examples/EmptyCase.hs" 4 18 4 19+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "x")))+ []))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 5 6 15+ , srcInfoPoints = [ SrcSpan "tests/examples/EmptyCase.hs" 6 5 6 6 ]+ }+ (LCase+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/EmptyCase.hs" 6 7 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EmptyCase.hs" 6 7 6 8+ , SrcSpan "tests/examples/EmptyCase.hs" 6 8 6 12+ , SrcSpan "tests/examples/EmptyCase.hs" 6 13 6 14+ , SrcSpan "tests/examples/EmptyCase.hs" 6 14 6 15+ ]+ }+ []))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/EmptyCase.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/EmptyCase.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE EmptyCase #-}+{-# LANGUAGE LambdaCase #-}+f x = case x of { }+g x = \case { }
tests/examples/EmptyContext.hs.prettyparser.golden view
@@ -1,10 +1,1 @@-Roundtrip test failed--AST 1:--Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyForall Nothing [] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))]--AST 2:--Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))]-+Match
tests/examples/EmptyContext.hs.prettyprinter.golden view
@@ -1,3 +1,1 @@-module Main (main) where--happyThen :: P a+happyThen :: () => P a
tests/examples/EmptyInstance.hs.prettyprinter.golden view
@@ -1,6 +1,4 @@-module Main (main) where--instance Traversable Tree+instance Traversable Tree where x :: Int x = 1
tests/examples/EmptyWhere.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@-module Main (main) where foo = 5 where
tests/examples/EqualityConstraints1.hs.parser.golden view
@@ -59,49 +59,62 @@ (CxSingle SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 15+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18 , srcInfoPoints =- [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18 ]+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 15+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18 , srcInfoPoints =- [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11 ]+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9- , srcInfoPoints = []+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9 , srcInfoPoints = [] }- "a"))- (TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "a"))+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15 , srcInfoPoints = [] }- "Int"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+ , srcInfoPoints = []+ }+ "Int"))))))) (TyVar SrcSpanInfo { srcInfoSpan =
tests/examples/EqualityConstraints1.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where one :: a ~ Int => a one = 1
tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE ExplicitNamespaces #-}-module Main (main) where import Data.Array.Repa (type (++)) import Data.Array.Repa (type (++)) import Data.Array.Repa (type (++))
tests/examples/ExplicitNamespaces3.hs.parser.golden view
@@ -139,7 +139,7 @@ "Str") []) ]- Nothing+ [] ] , [] )
+ tests/examples/ExplicitNamespaces4.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data (:-) = Foo
+ tests/examples/ExplicitNamespaces4.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data :- = Foo+
+ tests/examples/ExplicitNamespaces4.hs.parser.golden view
@@ -0,0 +1,171 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 6 1 6 1+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 1 3 7+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 24 3 29+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ "Foo")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 12 3 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 12 3 13+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 22 3 23+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 22+ ]+ }+ (TypeNamespace+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 13 3 17 ]+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 18 3 19+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 19 3 21+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 21 3 22+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ ":-"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 1 1 13+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "ExplicitNamespaces"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 1 2 13+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 28 2 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 2 14 2 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 11 5 12 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 1 5 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 6 5 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 6 5 7+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 7 5 9+ , SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 9 5 10+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 7 5 9+ , srcInfoPoints = []+ }+ ":-"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExplicitNamespaces4.hs" 5 13 5 16+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ ]+ , []+ )
+ tests/examples/ExplicitNamespaces4.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ExplicitNamespaces4.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE TypeOperators #-}+module Foo (type (:-)) where++data (:-) = Foo
tests/examples/ExprHole.hs.parser.golden view
@@ -37,11 +37,21 @@ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 5 2 8 , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 2 5 2 6 ] }- (ExprHole+ (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8 , srcInfoPoints = []- }))+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8+ , srcInfoPoints = []+ })))) Nothing , PatBind SrcSpanInfo@@ -69,11 +79,21 @@ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 10 , srcInfoPoints = [] }- (ExprHole+ (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8 , srcInfoPoints = []- })+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8+ , srcInfoPoints = []+ }))) (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10@@ -112,11 +132,21 @@ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 5 6 11 , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 6 5 6 6 ] }- (ExprHole+ (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11 , srcInfoPoints = []- }))+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11+ , srcInfoPoints = []+ })))) Nothing , FunBind SrcSpanInfo@@ -204,11 +234,23 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 10 11 10 12 ] }- (ExprHole+ (Var SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14 , srcInfoPoints = []- }))+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14+ , srcInfoPoints = []+ })))) Nothing ] ]))
tests/examples/ExprHole.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where foo = _ foo = _ x foo = _
tests/examples/ExtraPrettyParentheses.hs.parser.golden view
@@ -112,7 +112,7 @@ "a") ]) ]- Nothing+ [] , FunBind SrcSpanInfo { srcInfoSpan =
tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden view
@@ -2,9 +2,9 @@ AST 1: -Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Q") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "Q") [TyVar (Ident "a"),TyVar (Ident "a")])] [],FunBind [Match (SrcLoc "" -1 -1) (Symbol "*") [PVar (Ident "x"),PLit Negative (Int 1)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "negate"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Symbol "<>") [PApp (UnQual (Ident "Just")) [PVar (Ident "x")],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "f") [PParen (PInfixApp (PLit Negative (Int 1)) (UnQual (Ident "Q")) PWildCard)] Nothing (UnGuardedRhs (Con (Special UnitCon))) Nothing]]+Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] [],FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PLit () (Negative ()) (Int () 1 "1")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]] AST 2: -Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Q") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "Q") [TyVar (Ident "a"),TyVar (Ident "a")])] [],FunBind [Match (SrcLoc "" -1 -1) (Symbol "*") [PVar (Ident "x"),PParen (PLit Negative (Int 1))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "negate"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Symbol "<>") [PApp (UnQual (Ident "Just")) [PVar (Ident "x")],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "f") [PParen (PInfixApp (PLit Negative (Int 1)) (UnQual (Ident "Q")) PWildCard)] Nothing (UnGuardedRhs (Con (Special UnitCon))) Nothing]]+Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] [],FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PParen () (PLit () (Negative ()) (Int () 1 "1"))] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]]
tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- data Q a = Q a a x * (-1) = negate x Just x <> Nothing = Just x
tests/examples/FFIExtensions.hs.prettyprinter.golden view
@@ -5,4 +5,4 @@ foreign import ccall interruptible "sleep" sleep :: CUint -> IO CUint -foreign import capi safe "header.h f" f :: CInt -> IO CInt+foreign import capi "header.h f" f :: CInt -> IO CInt
tests/examples/FFIInterruptible.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE InterruptibleFFI #-}-module Main (main) where foo = interruptible
tests/examples/FamilyKindSig.hs.parser.golden view
@@ -84,22 +84,23 @@ , srcInfoPoints = [] } "a")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 37 , srcInfoPoints = [ SrcSpan "tests/examples/FamilyKindSig.hs" 4 33 4 35 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 32 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 36 4 37 , srcInfoPoints = [] }))))+ Nothing Nothing ] , []
tests/examples/Fixity2.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where foo = pure 1 <^> pure 2 <^> pure (+) where (<^>) = flip (<*>)
tests/examples/Fixity3.hs.parser.golden view
@@ -88,37 +88,51 @@ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28 , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28 , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25 , srcInfoPoints = [] }- "Applicative"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25- , srcInfoPoints = []- }- "f")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "f")))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 53
tests/examples/Fixity3.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- class Foo f where (<^>) :: Applicative f => f a -> f (a -> b) -> f b
tests/examples/FixityTests.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where main = forM_ cmdReports $ \ x ->
+ tests/examples/FlexibleContextsWithoutVars.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE FlexibleContexts #-}+f :: Log.Stack => a -> a+f = id
+ tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FlexibleContextsWithoutVars.hs.parser.golden view
@@ -0,0 +1,187 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 13+ , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 3 2 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 25+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ "Log")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ "Stack"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 21 2 23+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "a"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 4 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7+ , srcInfoPoints = []+ }+ "id"))))+ Nothing+ ]+ , []+ )
+ tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE FlexibleContexts #-}++f :: Log.Stack => a -> a+f = id
tests/examples/ForallInInstance.hs.parser.golden view
@@ -95,40 +95,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32 , srcInfoPoints = [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27- , srcInfoPoints = []+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ , srcInfoPoints = []+ }+ "MyClass")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29 , srcInfoPoints = [] }- "MyClass"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
tests/examples/ForallInInstance.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE ScopedTypeVariables #-} module ForallInInstance where -instance forall a . MyClass a => MyClass [a]+instance forall a . MyClass a => MyClass [a] where
tests/examples/ForeignImport.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- foreign import ccall unsafe "getProgArgv" getProgArgv :: Ptr CInt -> Ptr (Ptr CString) -> IO ()
tests/examples/ForeignImportJavascript.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE JavascriptFFI #-}-module Main (main) where foreign import javascript unsafe "somethingUseful_ = $1" js_set_somethingUseful :: JSFun a -> IO ()
tests/examples/GADTRecord.hs.parser.golden view
@@ -72,6 +72,8 @@ , srcInfoPoints = [] } "T")+ Nothing+ Nothing (Just [ FieldDecl SrcSpanInfo@@ -120,7 +122,7 @@ } "T"))) ]- Nothing+ [] ] , [] )
tests/examples/GADTRecord.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where data T where T :: {field :: Int} -> T
+ tests/examples/GADTRecord2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+ T :: () => { field :: Int } -> T
+ tests/examples/GADTRecord2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.parser.golden view
@@ -0,0 +1,137 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 13+ , SrcSpan "tests/examples/GADTRecord2.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 3 8 3 13+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 3+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "T"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 5 4 7+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 14 4 15+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 29 4 30+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 31 4 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "T")+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 9+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 9 4 10+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 11 4 13+ ]+ }))+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 22 4 24 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ "field"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ "Int")))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ "T")))+ ]+ []+ ]+ , []+ )
+ tests/examples/GADTRecord2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+ T :: () => {field :: Int} -> T
tests/examples/GadtDeriving.hs.parser.golden view
@@ -70,6 +70,8 @@ } "Foo") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 22@@ -109,88 +111,89 @@ } "Foo")))) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 31- , srcInfoPoints =- [ SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 13- , SrcSpan "tests/examples/GadtDeriving.hs" 5 14 5 15- , SrcSpan "tests/examples/GadtDeriving.hs" 5 17 5 18- , SrcSpan "tests/examples/GadtDeriving.hs" 5 21 5 22- , SrcSpan "tests/examples/GadtDeriving.hs" 5 30 5 31- ]- }- [ IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17- , srcInfoPoints = []- }- "Eq")))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21- , srcInfoPoints = []- }- "Ord")))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30- , srcInfoPoints = []- }- "Typeable")))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GadtDeriving.hs" 5 5 5 13+ , SrcSpan "tests/examples/GadtDeriving.hs" 5 14 5 15+ , SrcSpan "tests/examples/GadtDeriving.hs" 5 17 5 18+ , SrcSpan "tests/examples/GadtDeriving.hs" 5 21 5 22+ , SrcSpan "tests/examples/GadtDeriving.hs" 5 30 5 31+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 15 5 17+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 18 5 21+ , srcInfoPoints = []+ }+ "Ord")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 5 22 5 30+ , srcInfoPoints = []+ }+ "Typeable")))+ ]+ ] ] , [] )
tests/examples/GadtDeriving.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where data Foo where Foo :: Int -> Foo
tests/examples/GadtRecordFields.hs.parser.golden view
@@ -83,6 +83,8 @@ , srcInfoPoints = [] } "TCon")+ Nothing+ Nothing (Just [ FieldDecl SrcSpanInfo@@ -187,6 +189,8 @@ } "TCon2") Nothing+ Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan =@@ -207,7 +211,7 @@ } "Ty"))) ]- Nothing+ [] ] , [] )
tests/examples/GadtRecordFields.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where data Ty where TCon :: {field1 :: Int, field2 :: Bool} -> Ty
tests/examples/GadtStrictness.hs.parser.golden view
@@ -70,6 +70,8 @@ } "X") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 17@@ -84,9 +86,13 @@ (BangedTy SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9- , srcInfoPoints =- [ SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9 ]+ , srcInfoPoints = [] })+ (NoUnpackPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ }) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 9 4 12@@ -123,7 +129,7 @@ } "X")))) ]- Nothing+ [] ] , [] )
tests/examples/GadtStrictness.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where data X where X :: !Int -> X
tests/examples/GenericTree.hs.parser.golden view
@@ -106,34 +106,46 @@ , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 , srcInfoPoints = [] }- "Typeable"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 83@@ -217,39 +229,51 @@ , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 , srcInfoPoints = [] }- "Typeable"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63- , srcInfoPoints = []- }- "b")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/GenericTree.hs" 6 53 6 61+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+ , srcInfoPoints = []+ }+ "b"))))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 82
tests/examples/GhcDeriving.hs.parser.golden view
@@ -159,112 +159,113 @@ "a"))) ]) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 45- , srcInfoPoints =- [ SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 12- , SrcSpan "tests/examples/GhcDeriving.hs" 4 13 4 14- , SrcSpan "tests/examples/GhcDeriving.hs" 4 19 4 20- , SrcSpan "tests/examples/GhcDeriving.hs" 4 35 4 36- , SrcSpan "tests/examples/GhcDeriving.hs" 4 44 4 45- ]- }- [ IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19- , srcInfoPoints = []- }- "Monad")))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35- , srcInfoPoints = []- }- Nothing- Nothing- (IHApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35- , srcInfoPoints = []- }- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31- , srcInfoPoints = []- }- "MonadState")))- (TyList- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 35- , srcInfoPoints =- [ SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 33- , SrcSpan "tests/examples/GhcDeriving.hs" 4 34 4 35- ]- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34- , srcInfoPoints = []- }- "s"))))- , IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44- , srcInfoPoints = []- }- "MonadIO")))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GhcDeriving.hs" 4 4 4 12+ , SrcSpan "tests/examples/GhcDeriving.hs" 4 13 4 14+ , SrcSpan "tests/examples/GhcDeriving.hs" 4 19 4 20+ , SrcSpan "tests/examples/GhcDeriving.hs" 4 35 4 36+ , SrcSpan "tests/examples/GhcDeriving.hs" 4 44 4 45+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 14 4 19+ , srcInfoPoints = []+ }+ "Monad")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 35+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 21 4 31+ , srcInfoPoints = []+ }+ "MonadState")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GhcDeriving.hs" 4 32 4 33+ , SrcSpan "tests/examples/GhcDeriving.hs" 4 34 4 35+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "s"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GhcDeriving.hs" 4 37 4 44+ , srcInfoPoints = []+ }+ "MonadIO")))+ ]+ ] ] , [] )
tests/examples/GhcDeriving.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- newtype CodeGenModule a = CGM (StateT CGMState IO a)- deriving (Monad, MonadState [s], MonadIO)+ deriving (Monad, MonadState [s], MonadIO)
tests/examples/HaddockComments.hs.parser.golden view
@@ -897,7 +897,7 @@ "Int")) ]) ]- Nothing+ [] ] , [ Comment True
+ tests/examples/HashOperator.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE OverloadedLabels #-}++(#.) :: Int -> Int -> Int+x #. y = x + y++infixr 9 #.
+ tests/examples/HashOperator.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HashOperator.hs.parser.golden view
@@ -0,0 +1,237 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 1 1 1 1+ , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+ , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+ , SrcSpan "tests/examples/HashOperator.hs" 3 1 3 1+ , SrcSpan "tests/examples/HashOperator.hs" 4 1 4 1+ , SrcSpan "tests/examples/HashOperator.hs" 6 1 6 1+ , SrcSpan "tests/examples/HashOperator.hs" 7 1 7 1+ , SrcSpan "tests/examples/HashOperator.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 1 1 1 13+ , SrcSpan "tests/examples/HashOperator.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "OverloadedLabels"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 1 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 6 3 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 1 3 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 1 3 2+ , SrcSpan "tests/examples/HashOperator.hs" 3 2 3 4+ , SrcSpan "tests/examples/HashOperator.hs" 3 4 3 5+ ]+ }+ "#."+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 13 3 15 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 9 3 12+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 3 20 3 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 16 3 19+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 3 23 3 26+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 15+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 3 4 5+ , srcInfoPoints = []+ }+ "#.")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 8 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 4 8 4 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 1 6 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/HashOperator.hs" 6 8 6 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 1 6 7+ , srcInfoPoints = []+ })+ (Just 9)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 10 6 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/HashOperator.hs" 6 10 6 12+ , srcInfoPoints = []+ }+ "#.")+ ]+ ]+ , []+ )
+ tests/examples/HashOperator.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/HashOperator.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE OverloadedLabels #-}++( #. ) :: Int -> Int -> Int+x #. y = x + y++infixr 9 #.
tests/examples/HaskellParser.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where import qualified Language.Haskell.Exts.Annotated as Parser import qualified Language.Haskell.Exts.Annotated.Syntax as Syn import qualified Language.Haskell.Exts.Extension as Ext
tests/examples/IllDataTypeDecl.hs.parser.golden view
@@ -156,7 +156,7 @@ "L") []) ]- Nothing+ [] ] , [] )
tests/examples/IllDataTypeDecl.hs.prettyprinter.golden view
@@ -1,4 +1,4 @@ {-# LANGUAGE TypeOperators #-} module IllDataTypeDecl where -data (:+:) f g p = L+data (f :+: g) p = L
tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where foo = x where x = 1 z = 19
+ tests/examples/ImportQualifiedPost.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where++import Data.List qualified as L
+ tests/examples/ImportQualifiedPost.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.parser.golden view
@@ -0,0 +1,89 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 7+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 28 2 33+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "ImportQualifiedPost")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 13+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 34 1 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ImportQualifiedPost"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 7+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 18 4 27+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 28 4 30+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 8 4 17+ , srcInfoPoints = []+ }+ "Data.List"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ "L")+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/ImportQualifiedPost.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where+import qualified Data.List as L
tests/examples/IndentedWhere.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where f x = g where g :: Int g = 0
tests/examples/InfixApp.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where f = -w / 2
+ tests/examples/InfixBang.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE BangPatterns #-}++(!) arr i = arr i
+ tests/examples/InfixBang.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixBang.hs.parser.golden view
@@ -0,0 +1,122 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 1+ , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1+ , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1+ , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 13+ , SrcSpan "tests/examples/InfixBang.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "BangPatterns"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 3 1 3 2+ , SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3+ , SrcSpan "tests/examples/InfixBang.hs" 3 3 3 4+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3+ , srcInfoPoints = []+ }+ "!")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8+ , srcInfoPoints = []+ }+ "arr")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10+ , srcInfoPoints = []+ }+ "i")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 11 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixBang.hs" 3 11 3 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ "arr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/InfixBang.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InfixBang.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@+{-# LANGUAGE BangPatterns #-}+(!) arr i = arr i
tests/examples/InfixFunBind.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where-first left _ = left+left `first` _ = left
tests/examples/InfixTypeMinus.hs.parser.golden view
@@ -121,7 +121,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 16 5 19@@ -156,6 +156,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -184,81 +186,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 50 5 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40 , srcInfoPoints = [] }- "m"))- (TyParen- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48- , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44- , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48- ]- }- (TyInfix+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40+ , srcInfoPoints = []+ }+ "m"))+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45 , srcInfoPoints = [] }- "n"))- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46- , srcInfoPoints = []- }- (Symbol+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 44 5 45+ , srcInfoPoints = []+ }+ "n"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46 , srcInfoPoints = [] }- "-"))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47- , srcInfoPoints = []- }- (PromotedInteger+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 45 5 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 45 5 46+ , srcInfoPoints = []+ }+ "-")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47 , srcInfoPoints = [] }- 1- "1"))))))))+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 46 5 47+ , srcInfoPoints = []+ }+ 1+ "1"))))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -369,7 +388,7 @@ } "n")))))) ]- Nothing+ [] , GDataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 1 6 79@@ -418,7 +437,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 16 6 19@@ -453,6 +472,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -481,81 +502,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 50 6 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ] }- (TyParen+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48 , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40- , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44- ]+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ] }- (TyInfix+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41 , srcInfoPoints = [] }- "n"))- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42- , srcInfoPoints = []- }- (Symbol+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 40 6 41+ , srcInfoPoints = []+ }+ "n"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42 , srcInfoPoints = [] }- "-"))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43- , srcInfoPoints = []- }- (PromotedInteger+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 41 6 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 41 6 42+ , srcInfoPoints = []+ }+ "-")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43 , srcInfoPoints = [] }- 1- "1"))))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48- , srcInfoPoints = []- }- (Ident+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 42 6 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48 , srcInfoPoints = [] }- "m"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48+ , srcInfoPoints = []+ }+ "m"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -666,7 +704,7 @@ } "n")))))) ]- Nothing+ [] , GDataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 1 7 79@@ -715,7 +753,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 16 7 19@@ -750,6 +788,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -778,81 +818,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 50 7 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ] }- (TyParen+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48 , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40- , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44- ]+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ] }- (TyInfix+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41 , srcInfoPoints = [] }- "m"))- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42- , srcInfoPoints = []- }- (Symbol+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42 , srcInfoPoints = [] }- "+"))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43- , srcInfoPoints = []- }- (PromotedInteger+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 41 7 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 41 7 42+ , srcInfoPoints = []+ }+ "+")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43 , srcInfoPoints = [] }- 1- "1"))))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48- , srcInfoPoints = []- }- (Ident+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 42 7 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48 , srcInfoPoints = [] }- "n"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48+ , srcInfoPoints = []+ }+ "n"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -963,7 +1020,7 @@ } "n")))))) ]- Nothing+ [] , GDataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 1 8 79@@ -1012,7 +1069,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 16 8 19@@ -1047,6 +1104,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -1075,81 +1134,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 50 8 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40 , srcInfoPoints = [] }- "n"))- (TyParen- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48- , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44- , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48- ]- }- (TyInfix+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ "n"))+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45 , srcInfoPoints = [] }- "m"))- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46- , srcInfoPoints = []- }- (Symbol+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 44 8 45+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46 , srcInfoPoints = [] }- "+"))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47- , srcInfoPoints = []- }- (PromotedInteger+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ "+")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47 , srcInfoPoints = [] }- 1- "1"))))))))+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 46 8 47+ , srcInfoPoints = []+ }+ 1+ "1"))))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -1260,7 +1336,7 @@ } "n")))))) ]- Nothing+ [] ] , [ Comment False
+ tests/examples/InjectiveTypeFamilies.hs view
@@ -0,0 +1,255 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE NoMonomorphismRestriction #-}++module T6018 where++import T6018a -- defines G, identical to F++type family F a b c = (result :: k) | result -> a b c+type instance F Int Char Bool = Bool+type instance F Char Bool Int = Int+type instance F Bool Int Char = Char+++type instance G Bool Int Char = Char++type family I (a :: k) b (c :: k) = r | r -> a b+type instance I Int Char Bool = Bool+type instance I Int Char Int = Bool+type instance I Bool Int Int = Int++-- this is injective - a type variable introduced in the LHS is not mentioned on+-- RHS but we don't claim injectivity in that argument.+type family J a (b :: k) = r | r -> a+type instance J Int b = Char++type MaybeSyn a = Maybe a+newtype MaybeNew a = MaybeNew (Maybe a)++-- make sure we look through type synonyms...+type family K a = r | r -> a+type instance K a = MaybeSyn a++-- .. but not newtypes+type family M a = r | r -> a+type instance M (Maybe a) = MaybeSyn a+type instance M (MaybeNew a) = MaybeNew a++-- Closed type families++-- these are simple conversions from open type families. They should behave the+-- same+type family FClosed a b c = result | result -> a b c where+ FClosed Int Char Bool = Bool+ FClosed Char Bool Int = Int+ FClosed Bool Int Char = Char++type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where+ IClosed Int Char Bool = Bool+ IClosed Int Char Int = Bool+ IClosed Bool Int Int = Int++type family JClosed a (b :: k) = r | r -> a where+ JClosed Int b = Char++type family KClosed a = r | r -> a where+ KClosed a = MaybeSyn a++-- Here the last equation might return both Int and Char but we have to+-- recognize that it is not possible due to equation overlap+type family Bak a = r | r -> a where+ Bak Int = Char+ Bak Char = Int+ Bak a = a++-- This is similar, except that the last equation contains concrete type. Since+-- it is overlapped it should be dropped with a warning+type family Foo a = r | r -> a where+ Foo Int = Bool+ Foo Bool = Int+ Foo Bool = Bool++-- this one was tricky in the early implementation of injectivity. Now it is+-- identical to the above but we still keep it as a regression test.+type family Bar a = r | r -> a where+ Bar Int = Bool+ Bar Bool = Int+ Bar Bool = Char++-- Now let's use declared type families. All the below definitions should work++-- No ambiguity for any of the arguments - all are injective+f :: F a b c -> F a b c+f x = x++-- From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool+fapp :: Bool+fapp = f True++-- now the closed variant of F+fc :: FClosed a b c -> FClosed a b c+fc x = x++fcapp :: Bool+fcapp = fc True++-- The last argument is not injective so it must be instantiated+i :: I a b Int -> I a b Int+i x = x++-- From 1st instance of I: a ~ Int, b ~ Char+iapp :: Bool+iapp = i True++-- again, closed variant of I+ic :: IClosed a b Int -> IClosed a b Int+ic x = x++icapp :: Bool+icapp = ic True++-- Now we have to test weird closed type families:+bak :: Bak a -> Bak a+bak x = x++bakapp1 :: Char+bakapp1 = bak 'c'++bakapp2 :: Double+bakapp2 = bak 1.0++bakapp3 :: ()+bakapp3 = bak ()++foo :: Foo a -> Foo a+foo x = x++fooapp1 :: Bool+fooapp1 = foo True++bar :: Bar a -> Bar a+bar x = x++barapp1 :: Bool+barapp1 = bar True++barapp2 :: Int+barapp2 = bar 1++-- Declarations below test more liberal RHSs of injectivity annotations:+-- permiting variables to appear in different order than the one in which they+-- were declared.+type family H a b = r | r -> b a+type family Hc a b = r | r -> b a where+ Hc a b = a b+class Hcl a b where+ type Ht a b = r | r -> b a++-- repeated tyvars in the RHS of injectivity annotation: no warnings or errors+-- (consistent with behaviour for functional dependencies)+type family Jx a b = r | r -> a a+type family Jcx a b = r | r -> a a where+ Jcx a b = a b+class Jcl a b where+ type Jt a b = r | r -> a a++type family Kx a b = r | r -> a b b+type family Kcx a b = r | r -> a b b where+ Kcx a b = a b+class Kcl a b where+ type Kt a b = r | r -> a b b++-- Declaring kind injectivity. Here we only claim that knowing the RHS+-- determines the LHS kind but not the type.+type family L (a :: k1) = (r :: k2) | r -> k1 where+ L 'True = Int+ L 'False = Int+ L Maybe = 3+ L IO = 3++data KProxy (a :: *) = KProxy+type family KP (kproxy :: KProxy k) = r | r -> k+type instance KP ('KProxy :: KProxy Bool) = Int+type instance KP ('KProxy :: KProxy *) = Char++kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)+kproxy_id x = x++kproxy_id_use = kproxy_id 'a'++-- Now test some awkward cases from The Injectivity Paper. All should be+-- accepted.+type family Gx a+type family Hx a+type family Gi a = r | r -> a+type instance Gi Int = Char+type family Hi a = r | r -> a++type family F2 a = r | r -> a+type instance F2 [a] = [Gi a]+type instance F2 (Maybe a) = Hi a -> Int++type family F4 a = r | r -> a+type instance F4 [a] = (Gx a, a, a, a)+type instance F4 (Maybe a) = (Hx a, a, Int, Bool)++type family G2 a b = r | r -> a b+type instance G2 a Bool = (a, a)+type instance G2 Bool b = (b, Bool)++type family G6 a = r | r -> a+type instance G6 [a] = [Gi a]+type instance G6 Bool = Int++g6_id :: G6 a -> G6 a+g6_id x = x++g6_use :: [Char]+g6_use = g6_id "foo"++-- A sole exception to "bare variables in the RHS" rule+type family Id (a :: k) = (result :: k) | result -> a+type instance Id a = a++-- This makes sure that over-saturated type family applications at the top-level+-- are accepted.+type family IdProxy (a :: k) b = r | r -> a+type instance IdProxy a b = (Id a) b++-- make sure we look through type synonyms properly+type IdSyn a = Id a+type family IdProxySyn (a :: k) b = r | r -> a+type instance IdProxySyn a b = (IdSyn a) b++-- this has bare variable in the RHS but all LHS varaiables are also bare so it+-- should be accepted+type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k+type instance Fa a b = a++-- Taken from #9587. This exposed a bug in the solver.+type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *) | r -> repr a b++class ESymantics repr where+ int :: Int -> repr Int+ add :: repr Int -> repr Int -> repr Int++ lam :: (repr a -> repr b) -> repr (Arr repr a b)+ app :: repr (Arr repr a b) -> repr a -> repr b++te4 = let c3 = lam (\f -> lam (\x -> f `app` (f `app` (f `app` x))))+ in (c3 `app` (lam (\x -> x `add` int 14))) `app` (int 0)++-- This used to fail during development+class Manifold' a where+ type Base a = r | r -> a+ project :: a -> Base a+ unproject :: Base a -> a++id' :: forall a. ( Manifold' a ) => Base a -> Base a+id' = project . unproject
+ tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InjectiveTypeFamilies.hs.parser.golden view
@@ -0,0 +1,15848 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 256 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 7+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 14 10 19+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 8 10 13+ , srcInfoPoints = []+ }+ "T6018")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 40 1 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 40 2 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 40 3 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 14 3 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 41 4 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 14 4 36+ , srcInfoPoints = []+ }+ "TypeFamilyDependencies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 31 5 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 14 5 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 40 6 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 14 6 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 40 7 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 14 7 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 40 8 43+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 14 8 39+ , srcInfoPoints = []+ }+ "NoMonomorphismRestriction"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 8 12 14+ , srcInfoPoints = []+ }+ "T6018a"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 6 14 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 20+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 18+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ "F"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20+ , srcInfoPoints = []+ }+ "c")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 22 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 31 14 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 35 14 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 24 14 30+ , srcInfoPoints = []+ }+ "result")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35+ , srcInfoPoints = []+ }+ "k")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 38+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 46 14 48+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 39 14 45+ , srcInfoPoints = []+ }+ "result")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 49 14 50+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 51 14 52+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 53 14 54+ , srcInfoPoints = []+ }+ "c"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 6 15 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 32 15 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 6 16 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 32 16 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37+ , srcInfoPoints = []+ }+ "Int")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 6 17 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 32 17 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38+ , srcInfoPoints = []+ }+ "Char")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 6 20 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 32 20 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16+ , srcInfoPoints = []+ }+ "G")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38+ , srcInfoPoints = []+ }+ "Char")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 6 22 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 34+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14+ , srcInfoPoints = []+ }+ "I"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 18 22 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 22 22 23+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 16 22 17+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22+ , srcInfoPoints = []+ }+ "k"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25+ , srcInfoPoints = []+ }+ "b")))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 27+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 29 22 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 33 22 34+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 27 22 28+ , srcInfoPoints = []+ }+ "c")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 36 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 43 22 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 41 22 42+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 46 22 47+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 48 22 49+ , srcInfoPoints = []+ }+ "b"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 6 23 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 32 23 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16+ , srcInfoPoints = []+ }+ "I")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 6 24 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 32 24 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16+ , srcInfoPoints = []+ }+ "I")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 6 25 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 32 25 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16+ , srcInfoPoints = []+ }+ "I")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37+ , srcInfoPoints = []+ }+ "Int")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 6 29 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14+ , srcInfoPoints = []+ }+ "J"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16+ , srcInfoPoints = []+ }+ "a")))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 20 29 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 24 29 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 18 29 19+ , srcInfoPoints = []+ }+ "b")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 27 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 34 29 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 32 29 33+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 37 29 38+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 6 30 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 23 30 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16+ , srcInfoPoints = []+ }+ "J")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29+ , srcInfoPoints = []+ }+ "Char")))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 17 32 18+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14+ , srcInfoPoints = []+ }+ "MaybeSyn"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26+ , srcInfoPoints = []+ }+ "a")))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 20 33 21 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 19+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17+ , srcInfoPoints = []+ }+ "MaybeNew"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 30+ , srcInfoPoints = []+ }+ "MaybeNew")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 32+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 39 33 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 6 36 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ "K"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 18 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 25 36 27+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 23 36 24+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 28 36 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 6 37 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 19 37 20+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16+ , srcInfoPoints = []+ }+ "K")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29+ , srcInfoPoints = []+ }+ "MaybeSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31+ , srcInfoPoints = []+ }+ "a")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 6 40 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14+ , srcInfoPoints = []+ }+ "M"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 18 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 25 40 27+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 23 40 24+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 28 40 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 6 41 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 30 41 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16+ , srcInfoPoints = []+ }+ "M")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 25 41 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40+ , srcInfoPoints = []+ }+ "MaybeSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42+ , srcInfoPoints = []+ }+ "a")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 6 42 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 30 42 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16+ , srcInfoPoints = []+ }+ "M")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 28 42 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26+ , srcInfoPoints = []+ }+ "MaybeNew")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40+ , srcInfoPoints = []+ }+ "MaybeNew")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42+ , srcInfoPoints = []+ }+ "a")))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 6 48 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 54 48 59+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 26+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 24+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20+ , srcInfoPoints = []+ }+ "FClosed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26+ , srcInfoPoints = []+ }+ "c")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 28 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35+ , srcInfoPoints = []+ }+ "result"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 45 48 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 38 48 44+ , srcInfoPoints = []+ }+ "result")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 48 48 49+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 50 48 51+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 52 48 53+ , srcInfoPoints = []+ }+ "c"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 28 49 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 28 50 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 28 51 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34+ , srcInfoPoints = []+ }+ "Char")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 6 53 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 63 53 68+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 47+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 38+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 29+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20+ , srcInfoPoints = []+ }+ "IClosed"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 24 53 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 28 53 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 22 53 23+ , srcInfoPoints = []+ }+ "a")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 27 53 28+ , srcInfoPoints = []+ })))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 33 53 35+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 37 53 38+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 31 53 32+ , srcInfoPoints = []+ }+ "b")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 36 53 37+ , srcInfoPoints = []+ })))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 42 53 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 46 53 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 40 53 41+ , srcInfoPoints = []+ }+ "c")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 45 53 46+ , srcInfoPoints = []+ })))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 49 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 53+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 56 53 58+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 54 53 55+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 59 53 60+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 61 53 62+ , srcInfoPoints = []+ }+ "b"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 28 54 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 28 55 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 28 56 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33+ , srcInfoPoints = []+ }+ "Int")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 6 58 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 45 58 50+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 31+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20+ , srcInfoPoints = []+ }+ "JClosed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22+ , srcInfoPoints = []+ }+ "a")))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 26 58 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 30 58 31+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 24 58 25+ , srcInfoPoints = []+ }+ "b")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 33 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 40 58 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 38 58 39+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 43 58 44+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 19 59 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ "JClosed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16+ , srcInfoPoints = []+ }+ "Int"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25+ , srcInfoPoints = []+ }+ "Char")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 6 61 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 36 61 41+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20+ , srcInfoPoints = []+ }+ "KClosed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 24 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 31 61 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 29 61 30+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 34 61 35+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 15 62 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12+ , srcInfoPoints = []+ }+ "KClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25+ , srcInfoPoints = []+ }+ "MaybeSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27+ , srcInfoPoints = []+ }+ "a")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 6 66 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 32 66 37+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16+ , srcInfoPoints = []+ }+ "Bak"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 27 66 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 25 66 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 30 66 31+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 15 67 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9+ , srcInfoPoints = []+ }+ "Bak")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21+ , srcInfoPoints = []+ }+ "Char")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 15 68 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9+ , srcInfoPoints = []+ }+ "Bak")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 15 69 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 11+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9+ , srcInfoPoints = []+ }+ "Bak")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18+ , srcInfoPoints = []+ }+ "a"))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 6 73 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 32 73 37+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 27 73 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 25 73 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 30 73 31+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 14 74 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8+ , srcInfoPoints = []+ }+ "Foo")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 14 75 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8+ , srcInfoPoints = []+ }+ "Foo")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 14 76 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8+ , srcInfoPoints = []+ }+ "Foo")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20+ , srcInfoPoints = []+ }+ "Bool")))+ ]+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 6 80 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 32 80 37+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ "Bar"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 27 80 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 25 80 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 30 80 31+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 14 81 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8+ , srcInfoPoints = []+ }+ "Bar")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 14 82 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8+ , srcInfoPoints = []+ }+ "Bar")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 14 83 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8+ , srcInfoPoints = []+ }+ "Bar")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20+ , srcInfoPoints = []+ }+ "Char")))+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 3 88 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 14 88 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 13+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 11+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7+ , srcInfoPoints = []+ }+ "F")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13+ , srcInfoPoints = []+ }+ "c")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18+ , srcInfoPoints = []+ }+ "F")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24+ , srcInfoPoints = []+ }+ "c"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 6 92 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 5+ , srcInfoPoints = []+ }+ "fapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5+ , srcInfoPoints = []+ }+ "fapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 4 96 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 3+ , srcInfoPoints = []+ }+ "fc"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 21 96 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 20+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ "c")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 35+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31+ , srcInfoPoints = []+ }+ "FClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37+ , srcInfoPoints = []+ }+ "c"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 3+ , srcInfoPoints = []+ }+ "fc")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 7 99 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 6+ , srcInfoPoints = []+ }+ "fcapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6+ , srcInfoPoints = []+ }+ "fcapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11+ , srcInfoPoints = []+ }+ "fc")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 3 103 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 2+ , srcInfoPoints = []+ }+ "i"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 16 103 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 15+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 11+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7+ , srcInfoPoints = []+ }+ "I")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20+ , srcInfoPoints = []+ }+ "I")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 2+ , srcInfoPoints = []+ }+ "i")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 6 107 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 5+ , srcInfoPoints = []+ }+ "iapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5+ , srcInfoPoints = []+ }+ "iapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9+ , srcInfoPoints = []+ }+ "i")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 4 111 6 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 3+ , srcInfoPoints = []+ }+ "ic"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 23 111 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33+ , srcInfoPoints = []+ }+ "IClosed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 3+ , srcInfoPoints = []+ }+ "ic")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 7 114 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 6+ , srcInfoPoints = []+ }+ "icapp"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6+ , srcInfoPoints = []+ }+ "icapp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11+ , srcInfoPoints = []+ }+ "ic")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 5 118 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 4+ , srcInfoPoints = []+ }+ "bak"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 14 118 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11+ , srcInfoPoints = []+ }+ "Bak")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20+ , srcInfoPoints = []+ }+ "Bak")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 4+ , srcInfoPoints = []+ }+ "bak")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 9 121 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 8+ , srcInfoPoints = []+ }+ "bakapp1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16+ , srcInfoPoints = []+ }+ "Char")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8+ , srcInfoPoints = []+ }+ "bakapp1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14+ , srcInfoPoints = []+ }+ "bak")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18+ , srcInfoPoints = []+ }+ 'c'+ "c"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 9 124 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 8+ , srcInfoPoints = []+ }+ "bakapp2"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18+ , srcInfoPoints = []+ }+ "Double")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8+ , srcInfoPoints = []+ }+ "bakapp2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14+ , srcInfoPoints = []+ }+ "bak")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18+ , srcInfoPoints = []+ }+ (Frac+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18+ , srcInfoPoints = []+ }+ (1 % 1)+ "1.0"))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 9 127 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 8+ , srcInfoPoints = []+ }+ "bakapp3"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14+ ]+ })))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8+ , srcInfoPoints = []+ }+ "bakapp3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14+ , srcInfoPoints = []+ }+ "bak")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17+ ]+ })))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 5 130 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 14 130 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 9 133 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 8+ , srcInfoPoints = []+ }+ "fooapp1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8+ , srcInfoPoints = []+ }+ "fooapp1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14+ , srcInfoPoints = []+ }+ "foo")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 5 136 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 4+ , srcInfoPoints = []+ }+ "bar"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 14 136 16 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11+ , srcInfoPoints = []+ }+ "Bar")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20+ , srcInfoPoints = []+ }+ "Bar")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 4+ , srcInfoPoints = []+ }+ "bar")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 9 139 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 8+ , srcInfoPoints = []+ }+ "barapp1"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8+ , srcInfoPoints = []+ }+ "barapp1"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14+ , srcInfoPoints = []+ }+ "bar")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 9 142 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 8+ , srcInfoPoints = []+ }+ "barapp2"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8+ , srcInfoPoints = []+ }+ "barapp2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14+ , srcInfoPoints = []+ }+ "bar")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16+ , srcInfoPoints = []+ }+ 1+ "1"))))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 6 148 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 18+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14+ , srcInfoPoints = []+ }+ "H"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 20 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 27 148 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 25 148 26+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 30 148 31+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 32 148 33+ , srcInfoPoints = []+ }+ "a"+ ]))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 6 149 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 35 149 40+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15+ , srcInfoPoints = []+ }+ "Hc"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 28 149 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 26 149 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 31 149 32+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 33 149 34+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 10 150 11 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 9+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 7+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5+ , srcInfoPoints = []+ }+ "Hc")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15+ , srcInfoPoints = []+ }+ "b")))+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 152 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 15 151 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 3+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10+ , srcInfoPoints = []+ }+ "Hcl"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10+ , srcInfoPoints = []+ }+ "Ht"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 16 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 23 152 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 21 152 22+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 26 152 27+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 28 152 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 6 156 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15+ , srcInfoPoints = []+ }+ "Jx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 28 156 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 26 156 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 31 156 32+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 33 156 34+ , srcInfoPoints = []+ }+ "a"+ ]))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 6 157 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 36 157 41+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 20+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16+ , srcInfoPoints = []+ }+ "Jcx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 22 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 29 157 31+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 27 157 28+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 32 157 33+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 34 157 35+ , srcInfoPoints = []+ }+ "a"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 11 158 12 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 10+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 8+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6+ , srcInfoPoints = []+ }+ "Jcx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16+ , srcInfoPoints = []+ }+ "b")))+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 160 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 15 159 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 3+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10+ , srcInfoPoints = []+ }+ "Jcl"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10+ , srcInfoPoints = []+ }+ "Jt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 16 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 23 160 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 21 160 22+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 26 160 27+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 28 160 29+ , srcInfoPoints = []+ }+ "a"+ ]))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 6 162 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ "Kx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 28 162 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 26 162 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 31 162 32+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 33 162 34+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 35 162 36+ , srcInfoPoints = []+ }+ "b"+ ]))+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 6 163 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 38 163 43+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 20+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16+ , srcInfoPoints = []+ }+ "Kcx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 22 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 29 163 31+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 27 163 28+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 32 163 33+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 34 163 35+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 36 163 37+ , srcInfoPoints = []+ }+ "b"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 11 164 12 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 10+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 8+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6+ , srcInfoPoints = []+ }+ "Kcx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16+ , srcInfoPoints = []+ }+ "b")))+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 166 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 15 165 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 3+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10+ , srcInfoPoints = []+ }+ "Kcl"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 14+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10+ , srcInfoPoints = []+ }+ "Kt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 16 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 23 166 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 21 166 22+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 26 166 27+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 28 166 29+ , srcInfoPoints = []+ }+ "b"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 30 166 31+ , srcInfoPoints = []+ }+ "b"+ ]))+ ])+ , ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 6 170 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 47 170 52+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14+ , srcInfoPoints = []+ }+ "L"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 16+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 18 170 20+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 23 170 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 16 170 17+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23+ , srcInfoPoints = []+ }+ "k1"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 26 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 30 170 32+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 35 170 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 28 170 29+ , srcInfoPoints = []+ }+ "r")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35+ , srcInfoPoints = []+ }+ "k2")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 38+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 41 170 43+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 39 170 40+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 44 170 46+ , srcInfoPoints = []+ }+ "k1"+ ]))+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 14 171 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6+ , srcInfoPoints = []+ }+ "L")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12+ , srcInfoPoints = []+ }+ "True")))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 14 172 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6+ , srcInfoPoints = []+ }+ "L")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13+ , srcInfoPoints = []+ }+ "False")))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19+ , srcInfoPoints = []+ }+ "Int")))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 14 173 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 12+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6+ , srcInfoPoints = []+ }+ "L")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12+ , srcInfoPoints = []+ }+ "Maybe"))))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17+ , srcInfoPoints = []+ }+ 3+ "3"))+ , TypeEqn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 14 174 15 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6+ , srcInfoPoints = []+ }+ "L")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9+ , srcInfoPoints = []+ }+ "IO"))))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17+ , srcInfoPoints = []+ }+ 3+ "3"))+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 22 176 23 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 21+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12+ , srcInfoPoints = []+ }+ "KProxy"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 16 176 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 20 176 21+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 14 176 15+ , srcInfoPoints = []+ }+ "a")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 19 176 20+ , srcInfoPoints = []+ })))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30+ , srcInfoPoints = []+ }+ "KProxy")+ [])+ ]+ []+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 6 177 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 36+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15+ , srcInfoPoints = []+ }+ "KP"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 17+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 24 177 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 35 177 36+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 17 177 23+ , srcInfoPoints = []+ }+ "kproxy")+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35+ , srcInfoPoints = []+ }+ "k")))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 38 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 42+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 45 177 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 43 177 44+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 48 177 49+ , srcInfoPoints = []+ }+ "k"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 6 178 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 43 178 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 27 178 29+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 41 178 42+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41+ , srcInfoPoints = []+ }+ "Bool"))))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48+ , srcInfoPoints = []+ }+ "Int")))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 6 179 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 43 179 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 27 179 29+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 38 179 39+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 37 179 38+ , srcInfoPoints = []+ }))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49+ , srcInfoPoints = []+ }+ "Char")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 11 181 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 10+ , srcInfoPoints = []+ }+ "kproxy_id"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 39 181 41 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 26 181 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 37 181 38+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37+ , srcInfoPoints = []+ }+ "k")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 66+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44+ , srcInfoPoints = []+ }+ "KP")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 46+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 54 181 56+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 65 181 66+ ]+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53+ , srcInfoPoints = []+ }+ "KProxy"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 65+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63+ , srcInfoPoints = []+ }+ "KProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65+ , srcInfoPoints = []+ }+ "k"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 10+ , srcInfoPoints = []+ }+ "kproxy_id")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 14 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14+ , srcInfoPoints = []+ }+ "kproxy_id_use"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26+ , srcInfoPoints = []+ }+ "kproxy_id")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30+ , srcInfoPoints = []+ }+ 'a'+ "a"))))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 6 188 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15+ , srcInfoPoints = []+ }+ "Gx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 6 189 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15+ , srcInfoPoints = []+ }+ "Hx"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 6 190 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15+ , srcInfoPoints = []+ }+ "Gi"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 26 190 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 24 190 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 29 190 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 6 191 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 22 191 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17+ , srcInfoPoints = []+ }+ "Gi")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28+ , srcInfoPoints = []+ }+ "Char")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 6 192 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15+ , srcInfoPoints = []+ }+ "Hi"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 26 192 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 24 192 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 29 192 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 6 194 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15+ , srcInfoPoints = []+ }+ "F2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 26 194 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 24 194 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 29 194 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 6 195 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 28 195 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17+ , srcInfoPoints = []+ }+ "F2")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 20 195 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20+ , srcInfoPoints = []+ }+ "a"))))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 35 195 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33+ , srcInfoPoints = []+ }+ "Gi")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35+ , srcInfoPoints = []+ }+ "a"))))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 6 196 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 28 196 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17+ , srcInfoPoints = []+ }+ "F2")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 26 196 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 35 196 37 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32+ , srcInfoPoints = []+ }+ "Hi")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41+ , srcInfoPoints = []+ }+ "Int"))))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 6 198 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15+ , srcInfoPoints = []+ }+ "F4"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 26 198 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 24 198 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 29 198 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 6 199 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 28 199 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17+ , srcInfoPoints = []+ }+ "F4")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 20 199 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20+ , srcInfoPoints = []+ }+ "a"))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 35 199 36+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 38 199 39+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 43 199 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 49 199 50+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33+ , srcInfoPoints = []+ }+ "Gx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35+ , srcInfoPoints = []+ }+ "a"))+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49+ , srcInfoPoints = []+ }+ "a")+ ])+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 6 200 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 28 200 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17+ , srcInfoPoints = []+ }+ "F4")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 26 200 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26+ , srcInfoPoints = []+ }+ "a")))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 35 200 36+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 38 200 39+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 43 200 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 49 200 50+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33+ , srcInfoPoints = []+ }+ "Hx")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35+ , srcInfoPoints = []+ }+ "a"))+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 6 202 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15+ , srcInfoPoints = []+ }+ "G2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 21 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 28 202 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 26 202 27+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 31 202 32+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 33 202 34+ , srcInfoPoints = []+ }+ "b"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 6 203 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 28 203 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17+ , srcInfoPoints = []+ }+ "G2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 32 203 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 35 203 36+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35+ , srcInfoPoints = []+ }+ "a")+ ])+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 6 204 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 28 204 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17+ , srcInfoPoints = []+ }+ "G2")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24+ , srcInfoPoints = []+ }+ "b")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 31+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 32 204 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 38 204 39+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32+ , srcInfoPoints = []+ }+ "b")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 6 206 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15+ , srcInfoPoints = []+ }+ "G6"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 26 206 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 24 206 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 29 206 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 6 207 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 23 207 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17+ , srcInfoPoints = []+ }+ "G6")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 20 207 21+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20+ , srcInfoPoints = []+ }+ "a"))))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 30 207 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28+ , srcInfoPoints = []+ }+ "Gi")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30+ , srcInfoPoints = []+ }+ "a"))))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 6 208 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 23 208 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17+ , srcInfoPoints = []+ }+ "G6")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28+ , srcInfoPoints = []+ }+ "Int")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 7 210 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 6+ , srcInfoPoints = []+ }+ "g6_id"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 15 210 17 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 14+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12+ , srcInfoPoints = []+ }+ "G6")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20+ , srcInfoPoints = []+ }+ "G6")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22+ , srcInfoPoints = []+ }+ "a"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 6+ , srcInfoPoints = []+ }+ "g6_id")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12+ , srcInfoPoints = []+ }+ "x"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 8 213 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 7+ , srcInfoPoints = []+ }+ "g6_use"+ ]+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 12+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 16 213 17+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16+ , srcInfoPoints = []+ }+ "Char"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7+ , srcInfoPoints = []+ }+ "g6_use"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15+ , srcInfoPoints = []+ }+ "g6_id")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21+ , srcInfoPoints = []+ }+ "foo"+ "foo"))))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 6 217 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15+ , srcInfoPoints = []+ }+ "Id"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 17+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 19 217 21+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 23 217 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 17 217 18+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 26 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 35 217 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 39 217 40+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 28 217 34+ , srcInfoPoints = []+ }+ "result")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39+ , srcInfoPoints = []+ }+ "k")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 42+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 50 217 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 43 217 49+ , srcInfoPoints = []+ }+ "result")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 53 217 54+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 6 218 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 20 218 21+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17+ , srcInfoPoints = []+ }+ "Id")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23+ , srcInfoPoints = []+ }+ "a"))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 6 222 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 31+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 29+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20+ , srcInfoPoints = []+ }+ "IdProxy"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 22+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 24 222 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 28 222 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 22 222 23+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28+ , srcInfoPoints = []+ }+ "k"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 33 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 40 222 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 38 222 39+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 43 222 44+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 6 223 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 27 223 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22+ , srcInfoPoints = []+ }+ "IdProxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 37+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 30+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 34 223 35+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32+ , srcInfoPoints = []+ }+ "Id")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34+ , srcInfoPoints = []+ }+ "a"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37+ , srcInfoPoints = []+ }+ "b")))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 14 226 15+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11+ , srcInfoPoints = []+ }+ "IdSyn"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18+ , srcInfoPoints = []+ }+ "Id")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 6 227 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 34+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 32+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23+ , srcInfoPoints = []+ }+ "IdProxySyn"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 27 227 29+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 31 227 32+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 25 227 26+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31+ , srcInfoPoints = []+ }+ "k"))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 36 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 43 227 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 41 227 42+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 46 227 47+ , srcInfoPoints = []+ }+ "a"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 6 228 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 30 228 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25+ , srcInfoPoints = []+ }+ "IdProxySyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 43+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 40 228 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38+ , srcInfoPoints = []+ }+ "IdSyn")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40+ , srcInfoPoints = []+ }+ "a"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43+ , srcInfoPoints = []+ }+ "b")))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 6 232 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 33+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15+ , srcInfoPoints = []+ }+ "Fa"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 17+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 19 232 21+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 23 232 24+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 17 232 18+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23+ , srcInfoPoints = []+ }+ "k"))))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 26+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 28 232 30+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 32 232 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 26 232 27+ , srcInfoPoints = []+ }+ "b")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32+ , srcInfoPoints = []+ }+ "k"))))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 35 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 37+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 39 232 41+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 44 232 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 37 232 38+ , srcInfoPoints = []+ }+ "r")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44+ , srcInfoPoints = []+ }+ "k2")))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 47+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 50 232 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 48 232 49+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 53 232 54+ , srcInfoPoints = []+ }+ "k"+ ]))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 6 233 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 22 233 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17+ , srcInfoPoints = []+ }+ "Fa")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25+ , srcInfoPoints = []+ }+ "a"))+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 6 236 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 51+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 42+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 33+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16+ , srcInfoPoints = []+ }+ "Arr"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 23 236 25+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 32 236 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 18 236 22+ , srcInfoPoints = []+ }+ "repr")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 28 236 30 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 27+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 31 236 32+ , srcInfoPoints = []+ }))))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 35+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 37 236 39+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 41 236 42+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 35 236 36+ , srcInfoPoints = []+ }+ "a")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 40 236 41+ , srcInfoPoints = []+ })))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 44+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 46 236 48+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 50 236 51+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 44 236 45+ , srcInfoPoints = []+ }+ "b")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 49 236 50+ , srcInfoPoints = []+ })))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 53 ]+ }+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 55+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 57 236 59+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 61 236 62+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 55 236 56+ , srcInfoPoints = []+ }+ "r")+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 60 236 61+ , srcInfoPoints = []+ }))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 64+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 67 236 69+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 65 236 66+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 70 236 74+ , srcInfoPoints = []+ }+ "repr"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 75 236 76+ , srcInfoPoints = []+ }+ "a"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 77 236 78+ , srcInfoPoints = []+ }+ "b"+ ]))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 23 238 28+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17+ , srcInfoPoints = []+ }+ "ESymantics"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22+ , srcInfoPoints = []+ }+ "repr")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 8+ , srcInfoPoints = []+ }+ "int"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 17 239 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15+ , srcInfoPoints = []+ }+ "Int")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 28+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28+ , srcInfoPoints = []+ }+ "Int"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 8+ , srcInfoPoints = []+ }+ "add"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 22 240 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 20+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20+ , srcInfoPoints = []+ }+ "Int"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 34 240 36 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 240+ 30+ 240+ 33+ , srcInfoPoints = []+ }+ "Int"))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 45+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41+ , srcInfoPoints = []+ }+ "repr"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 240+ 42+ 240+ 45+ , srcInfoPoints = []+ }+ "Int")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 8+ , srcInfoPoints = []+ }+ "lam"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 31 242 33 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 13+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 29 242 30+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 20 242 22+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 19+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 13+ 242+ 17+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 18 242 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 18+ 242+ 19+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 29+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 23+ 242+ 27+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 28 242 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 28+ 242+ 29+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 53+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38+ , srcInfoPoints = []+ }+ "repr"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 40+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 52 242 53+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 52+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 40+ 242+ 43+ , srcInfoPoints = []+ }+ "Arr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 44+ 242+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 44+ 242+ 48+ , srcInfoPoints = []+ }+ "repr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 49+ 242+ 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 49+ 242+ 50+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 242 51 242 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 242+ 51+ 242+ 52+ , srcInfoPoints = []+ }+ "b")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 8+ , srcInfoPoints = []+ }+ "app"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 32 243 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16+ , srcInfoPoints = []+ }+ "repr"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 30 243 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 18+ 243+ 21+ , srcInfoPoints = []+ }+ "Arr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 22+ 243+ 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 22+ 243+ 26+ , srcInfoPoints = []+ }+ "repr")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 27+ 243+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 27+ 243+ 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 29 243 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 243+ 29+ 243+ 30+ , srcInfoPoints = []+ }+ "b")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 42 243 44 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 41+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 51+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49+ , srcInfoPoints = []+ }+ "repr"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51+ , srcInfoPoints = []+ }+ "b"))))))+ ])+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 246 63+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4+ , srcInfoPoints = []+ }+ "te4"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 246 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 245 6 ]+ }+ (Let+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 246 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 245 10+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 9+ ]+ }+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 11+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13+ , srcInfoPoints = []+ }+ "c3"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 69+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 16+ 245+ 19+ , srcInfoPoints = []+ }+ "lam")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 21+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 68 245 69+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 68+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 22+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 245 24 245 26+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 22+ 245+ 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 22+ 245+ 23+ , srcInfoPoints = []+ }+ "f")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 68+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 27+ 245+ 30+ , srcInfoPoints = []+ }+ "lam")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 31+ 245+ 68+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 31+ 245+ 32+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 67+ 245+ 68+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 32+ 245+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 32+ 245+ 33+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 35+ 245+ 37+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 33+ 245+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 33+ 245+ 34+ , srcInfoPoints = []+ }+ "x")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 67+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 38+ 245+ 39+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 41+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 41+ 245+ 44+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 44+ 245+ 45+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 45+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 40+ 245+ 41+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 41+ 245+ 44+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 44+ 245+ 45+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 41+ 245+ 44+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 46+ 245+ 67+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 46+ 245+ 47+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 66+ 245+ 67+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 66+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 47+ 245+ 48+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 54+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 50+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 50+ 245+ 53+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 53+ 245+ 54+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 54+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 49+ 245+ 50+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 50+ 245+ 53+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 53+ 245+ 54+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 50+ 245+ 53+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 55+ 245+ 66+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 55+ 245+ 56+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 65+ 245+ 66+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 56+ 245+ 57+ , srcInfoPoints = []+ }+ "f")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 63+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 59+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 59+ 245+ 62+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 62+ 245+ 63+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 63+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 58+ 245+ 59+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 59+ 245+ 62+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 62+ 245+ 63+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 59+ 245+ 62+ , srcInfoPoints = []+ }+ "app")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 64+ 245+ 65+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 64+ 245+ 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 245+ 64+ 245+ 65+ , srcInfoPoints = []+ }+ "x")))))))))))))))+ Nothing+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 63+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 11+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 48 246 49+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13+ , srcInfoPoints = []+ }+ "c3")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 21+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 47 246 48+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 21+ 246+ 24+ , srcInfoPoints = []+ }+ "lam")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 47+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 26+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 46 246 47+ ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 26 246 46+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 26+ 246+ 27+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 29+ 246+ 31+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 27+ 246+ 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 27+ 246+ 28+ , srcInfoPoints = []+ }+ "x")+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 32+ 246+ 33+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 35+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 35+ 246+ 38+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 38+ 246+ 39+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 34+ 246+ 35+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 35+ 246+ 38+ , SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 38+ 246+ 39+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 35+ 246+ 38+ , srcInfoPoints = []+ }+ "add")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 46+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 40+ 246+ 43+ , srcInfoPoints = []+ }+ "int")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 44+ 246+ 46+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs"+ 246+ 44+ 246+ 46+ , srcInfoPoints = []+ }+ 14+ "14"))))))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54+ , srcInfoPoints = []+ }+ "app")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 57+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 62 246 63+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 62+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60+ , srcInfoPoints = []+ }+ "int")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62+ , srcInfoPoints = []+ }+ 0+ "0")))))))+ Nothing+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 6+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 19 249 24+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 5+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16+ , srcInfoPoints = []+ }+ "Manifold'"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 9 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14+ , srcInfoPoints = []+ }+ "Base"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17+ , srcInfoPoints = []+ }+ "a")))+ (Just+ (TyVarSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 19 ]+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21+ , srcInfoPoints = []+ }+ "r"))))+ (Just+ (InjectivityInfo+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 23+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 26 250 28+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 24 250 25+ , srcInfoPoints = []+ }+ "r")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 29 250 30+ , srcInfoPoints = []+ }+ "a"+ ]))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 12+ , srcInfoPoints = []+ }+ "project"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 18 251 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 14+ , srcInfoPoints = []+ }+ "unproject"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 25 252 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29+ , srcInfoPoints = []+ }+ "a"))))+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 5 254 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 4+ , srcInfoPoints = []+ }+ "id'"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 14+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 16 254 17+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33+ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ , srcInfoPoints = []+ }+ "Manifold'")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+ , srcInfoPoints = []+ }+ "a")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 44 254 46 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 43+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51+ , srcInfoPoints = []+ }+ "Base")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53+ , srcInfoPoints = []+ }+ "a")))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4+ , srcInfoPoints = []+ }+ "id'"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 6 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14+ , srcInfoPoints = []+ }+ "project")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26+ , srcInfoPoints = []+ }+ "unproject")))))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 15 12 43)+ " defines G, identical to F"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 27 1 27 81)+ " this is injective - a type variable introduced in the LHS is not mentioned on"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 28 1 28 56)+ " RHS but we don't claim injectivity in that argument."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 35 1 35 46)+ " make sure we look through type synonyms..."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 39 1 39 23)+ " .. but not newtypes"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 44 1 44 24)+ " Closed type families"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 46 1 46 80)+ " these are simple conversions from open type families. They should behave the"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 47 1 47 8)+ " same"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 64 1 64 72)+ " Here the last equation might return both Int and Char but we have to"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 65 1 65 61)+ " recognize that it is not possible due to equation overlap"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 71 1 71 81)+ " This is similar, except that the last equation contains concrete type. Since"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 72 1 72 56)+ " it is overlapped it should be dropped with a warning"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 78 1 78 78)+ " this one was tricky in the early implementation of injectivity. Now it is"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 79 1 79 69)+ " identical to the above but we still keep it as a regression test."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 85 1 85 79)+ " Now let's use declared type families. All the below definitions should work"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 87 1 87 61)+ " No ambiguity for any of the arguments - all are injective"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 91 1 91 55)+ " From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 95 1 95 31)+ " now the closed variant of F"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 102 1 102 65)+ " The last argument is not injective so it must be instantiated"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 106 1 106 45)+ " From 1st instance of I: a ~ Int, b ~ Char"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 110 1 110 30)+ " again, closed variant of I"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 117 1 117 51)+ " Now we have to test weird closed type families:"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 145 1 145 73)+ " Declarations below test more liberal RHSs of injectivity annotations:"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 146 1 146 79)+ " permiting variables to appear in different order than the one in which they"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 147 1 147 18)+ " were declared."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 154 1 154 79)+ " repeated tyvars in the RHS of injectivity annotation: no warnings or errors"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 155 1 155 59)+ " (consistent with behaviour for functional dependencies)"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 168 1 168 71)+ " Declaring kind injectivity. Here we only claim that knowing the RHS"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 169 1 169 45)+ " determines the LHS kind but not the type."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 186 1 186 74)+ " Now test some awkward cases from The Injectivity Paper. All should be"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 187 1 187 13)+ " accepted."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 216 1 216 56)+ " A sole exception to \"bare variables in the RHS\" rule"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 220 1 220 81)+ " This makes sure that over-saturated type family applications at the top-level"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 221 1 221 17)+ " are accepted."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 225 1 225 52)+ " make sure we look through type synonyms properly"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 230 1 230 80)+ " this has bare variable in the RHS but all LHS varaiables are also bare so it"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 231 1 231 22)+ " should be accepted"+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 235 1 235 55)+ " Taken from #9587. This exposed a bug in the solver."+ , Comment+ False+ (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 248 1 248 40)+ " This used to fail during development"+ ]+ )
+ tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden view
@@ -0,0 +1,253 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE NoMonomorphismRestriction #-}+module T6018 where+import T6018a++type family F a b c = (result :: k) | result -> a b c++type instance F Int Char Bool = Bool++type instance F Char Bool Int = Int++type instance F Bool Int Char = Char++type instance G Bool Int Char = Char++type family I (a :: k) b (c :: k) = r | r -> a b++type instance I Int Char Bool = Bool++type instance I Int Char Int = Bool++type instance I Bool Int Int = Int++type family J a (b :: k) = r | r -> a++type instance J Int b = Char++type MaybeSyn a = Maybe a++newtype MaybeNew a = MaybeNew (Maybe a)++type family K a = r | r -> a++type instance K a = MaybeSyn a++type family M a = r | r -> a++type instance M (Maybe a) = MaybeSyn a++type instance M (MaybeNew a) = MaybeNew a++type family FClosed a b c = result | result -> a b c where+ FClosed Int Char Bool = Bool+ FClosed Char Bool Int = Int+ FClosed Bool Int Char = Char++type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where+ IClosed Int Char Bool = Bool+ IClosed Int Char Int = Bool+ IClosed Bool Int Int = Int++type family JClosed a (b :: k) = r | r -> a where+ JClosed Int b = Char++type family KClosed a = r | r -> a where+ KClosed a = MaybeSyn a++type family Bak a = r | r -> a where+ Bak Int = Char+ Bak Char = Int+ Bak a = a++type family Foo a = r | r -> a where+ Foo Int = Bool+ Foo Bool = Int+ Foo Bool = Bool++type family Bar a = r | r -> a where+ Bar Int = Bool+ Bar Bool = Int+ Bar Bool = Char++f :: F a b c -> F a b c+f x = x++fapp :: Bool+fapp = f True++fc :: FClosed a b c -> FClosed a b c+fc x = x++fcapp :: Bool+fcapp = fc True++i :: I a b Int -> I a b Int+i x = x++iapp :: Bool+iapp = i True++ic :: IClosed a b Int -> IClosed a b Int+ic x = x++icapp :: Bool+icapp = ic True++bak :: Bak a -> Bak a+bak x = x++bakapp1 :: Char+bakapp1 = bak 'c'++bakapp2 :: Double+bakapp2 = bak 1.0++bakapp3 :: ()+bakapp3 = bak ()++foo :: Foo a -> Foo a+foo x = x++fooapp1 :: Bool+fooapp1 = foo True++bar :: Bar a -> Bar a+bar x = x++barapp1 :: Bool+barapp1 = bar True++barapp2 :: Int+barapp2 = bar 1++type family H a b = r | r -> b a++type family Hc a b = r | r -> b a where+ Hc a b = a b++class Hcl a b where+ type Ht a b = r | r -> b a++type family Jx a b = r | r -> a a++type family Jcx a b = r | r -> a a where+ Jcx a b = a b++class Jcl a b where+ type Jt a b = r | r -> a a++type family Kx a b = r | r -> a b b++type family Kcx a b = r | r -> a b b where+ Kcx a b = a b++class Kcl a b where+ type Kt a b = r | r -> a b b++type family L (a :: k1) = (r :: k2) | r -> k1 where+ L 'True = Int+ L 'False = Int+ L Maybe = 3+ L IO = 3++data KProxy (a :: *) = KProxy++type family KP (kproxy :: KProxy k) = r | r -> k++type instance KP ('KProxy :: KProxy Bool) = Int++type instance KP ('KProxy :: KProxy *) = Char++kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)+kproxy_id x = x+kproxy_id_use = kproxy_id 'a'++type family Gx a++type family Hx a++type family Gi a = r | r -> a++type instance Gi Int = Char++type family Hi a = r | r -> a++type family F2 a = r | r -> a++type instance F2 [a] = [Gi a]++type instance F2 (Maybe a) = Hi a -> Int++type family F4 a = r | r -> a++type instance F4 [a] = (Gx a, a, a, a)++type instance F4 (Maybe a) = (Hx a, a, Int, Bool)++type family G2 a b = r | r -> a b++type instance G2 a Bool = (a, a)++type instance G2 Bool b = (b, Bool)++type family G6 a = r | r -> a++type instance G6 [a] = [Gi a]++type instance G6 Bool = Int++g6_id :: G6 a -> G6 a+g6_id x = x++g6_use :: [Char]+g6_use = g6_id "foo"++type family Id (a :: k) = (result :: k) | result -> a++type instance Id a = a++type family IdProxy (a :: k) b = r | r -> a++type instance IdProxy a b = (Id a) b++type IdSyn a = Id a++type family IdProxySyn (a :: k) b = r | r -> a++type instance IdProxySyn a b = (IdSyn a) b++type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k++type instance Fa a b = a++type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *)+ | r -> repr a b++class ESymantics repr where+ int :: Int -> repr Int+ + add :: repr Int -> repr Int -> repr Int+ + lam :: (repr a -> repr b) -> repr (Arr repr a b)+ + app :: repr (Arr repr a b) -> repr a -> repr b+te4+ = let c3 = lam (\ f -> lam (\ x -> f `app` (f `app` (f `app` x))))+ in (c3 `app` (lam (\ x -> x `add` int 14))) `app` (int 0)++class Manifold' a where+ type Base a = r | r -> a+ + project :: a -> Base a+ + unproject :: Base a -> a++id' :: forall a . (Manifold' a) => Base a -> Base a+id' = project . unproject
tests/examples/InlineConlike.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- {-# INLINE CONLIKE size #-} size :: Int
tests/examples/InstanceSigs.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE InstanceSigs #-} {-# LANGUAGE TypeFamilies #-}-module Main (main) where instance SupportsDelta (Map k v) where type Delta (Map k v) = Map k v
tests/examples/LanguagePragma.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE RecordWildCards #-}-module Main (main) where main = print "hello"
+ tests/examples/Lib.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE UnboxedSums, MagicHash #-}++module Lib (flip, getInt) where++import GHC.Exts+import Prelude (Int)++{-# NOINLINE flip #-}+flip :: (# Int | Int# #) -> (# Int# | Int #)+flip (# i | #) = (# | i #)+flip (# | i #) = (# i | #)++{-# NOINLINE getInt #-}+getInt :: (# Int# | Int #) -> Int+getInt (# i | #) = I# i+getInt (# | i #) = i+
+ tests/examples/Lib.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Lib.hs.parser.golden view
@@ -0,0 +1,672 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 1 18 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 1 1 1 1+ , SrcSpan "tests/examples/Lib.hs" 3 1 3 1+ , SrcSpan "tests/examples/Lib.hs" 3 1 3 1+ , SrcSpan "tests/examples/Lib.hs" 5 1 5 1+ , SrcSpan "tests/examples/Lib.hs" 6 1 6 1+ , SrcSpan "tests/examples/Lib.hs" 8 1 8 1+ , SrcSpan "tests/examples/Lib.hs" 9 1 9 1+ , SrcSpan "tests/examples/Lib.hs" 10 1 10 1+ , SrcSpan "tests/examples/Lib.hs" 11 1 11 1+ , SrcSpan "tests/examples/Lib.hs" 13 1 13 1+ , SrcSpan "tests/examples/Lib.hs" 14 1 14 1+ , SrcSpan "tests/examples/Lib.hs" 15 1 15 1+ , SrcSpan "tests/examples/Lib.hs" 16 1 16 1+ , SrcSpan "tests/examples/Lib.hs" 18 1 18 1+ , SrcSpan "tests/examples/Lib.hs" 18 1 18 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 1 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 3 1 3 7+ , SrcSpan "tests/examples/Lib.hs" 3 27 3 32+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 8 3 11+ , srcInfoPoints = []+ }+ "Lib")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 12 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 3 12 3 13+ , SrcSpan "tests/examples/Lib.hs" 3 17 3 18+ , SrcSpan "tests/examples/Lib.hs" 3 25 3 26+ ]+ }+ [ EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 13 3 17+ , srcInfoPoints = []+ }+ "flip"))+ , EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 3 19 3 25+ , srcInfoPoints = []+ }+ "getInt"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 1 1 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 1 1 1 13+ , SrcSpan "tests/examples/Lib.hs" 1 25 1 26+ , SrcSpan "tests/examples/Lib.hs" 1 37 1 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "UnboxedSums"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 1 27 1 36+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 5 1 5 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 5 1 5 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 5 8 5 16+ , srcInfoPoints = []+ }+ "GHC.Exts"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 1 6 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 6 1 6 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 8 6 15+ , srcInfoPoints = []+ }+ "Prelude"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 16 6 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 6 16 6 17+ , SrcSpan "tests/examples/Lib.hs" 6 20 6 21+ ]+ }+ False+ [ IAbs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+ , srcInfoPoints = []+ }+ (NoNamespace+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+ , srcInfoPoints = []+ })+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 6 17 6 20+ , srcInfoPoints = []+ }+ "Int")+ ])+ }+ ]+ [ InlineSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 1 8 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 8 1 8 13+ , SrcSpan "tests/examples/Lib.hs" 8 19 8 22+ ]+ }+ False+ Nothing+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 14 8 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 8 14 8 18+ , srcInfoPoints = []+ }+ "flip"))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 1 9 45+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 9 6 9 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 1 9 5+ , srcInfoPoints = []+ }+ "flip"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 9 9 45+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 9 26 9 28 ]+ }+ (TyUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 9 9 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 9 9 9 11+ , SrcSpan "tests/examples/Lib.hs" 9 16 9 17+ , SrcSpan "tests/examples/Lib.hs" 9 23 9 25+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 12 9 15+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ "Int#"))+ ])+ (TyUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 29 9 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 9 29 9 31+ , SrcSpan "tests/examples/Lib.hs" 9 37 9 38+ , SrcSpan "tests/examples/Lib.hs" 9 43 9 45+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 32 9 36+ , srcInfoPoints = []+ }+ "Int#"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 9 39 9 42+ , srcInfoPoints = []+ }+ "Int"))+ ]))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 11 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 10 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 1 10 5+ , srcInfoPoints = []+ }+ "flip")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 6 10 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 10 6 10 8+ , SrcSpan "tests/examples/Lib.hs" 10 11 10 12+ , SrcSpan "tests/examples/Lib.hs" 10 13 10 15+ ]+ }+ 0+ 1+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 9 10 10+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 16 10 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 10 16 10 17 ]+ }+ (UnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 18 10 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 10 18 10 20+ , SrcSpan "tests/examples/Lib.hs" 10 21 10 22+ , SrcSpan "tests/examples/Lib.hs" 10 25 10 27+ ]+ }+ 1+ 0+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 10 23 10 24+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 1 11 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 1 11 5+ , srcInfoPoints = []+ }+ "flip")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 6 11 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 11 6 11 8+ , SrcSpan "tests/examples/Lib.hs" 11 9 11 10+ , SrcSpan "tests/examples/Lib.hs" 11 13 11 15+ ]+ }+ 1+ 0+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 11 11 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 11 11 12+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 16 11 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 11 16 11 17 ]+ }+ (UnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 18 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 11 18 11 20+ , SrcSpan "tests/examples/Lib.hs" 11 23 11 24+ , SrcSpan "tests/examples/Lib.hs" 11 25 11 27+ ]+ }+ 0+ 1+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 11 21 11 22+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ ]+ , InlineSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 1 13 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 13 1 13 13+ , SrcSpan "tests/examples/Lib.hs" 13 21 13 24+ ]+ }+ False+ Nothing+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 14 13 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 13 14 13 20+ , srcInfoPoints = []+ }+ "getInt"))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 1 14 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 14 8 14 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 1 14 7+ , srcInfoPoints = []+ }+ "getInt"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 11 14 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 14 28 14 30 ]+ }+ (TyUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 11 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 14 11 14 13+ , SrcSpan "tests/examples/Lib.hs" 14 19 14 20+ , SrcSpan "tests/examples/Lib.hs" 14 25 14 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 14 14 18+ , srcInfoPoints = []+ }+ "Int#"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 21 14 24+ , srcInfoPoints = []+ }+ "Int"))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 14 31 14 34+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 16 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 15 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 1 15 7+ , srcInfoPoints = []+ }+ "getInt")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 8 15 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 15 8 15 10+ , SrcSpan "tests/examples/Lib.hs" 15 13 15 14+ , SrcSpan "tests/examples/Lib.hs" 15 15 15 17+ ]+ }+ 0+ 1+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 18 15 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 15 18 15 19 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 24+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 20 15 22+ , srcInfoPoints = []+ }+ "I#")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 15 23 15 24+ , srcInfoPoints = []+ }+ "i")))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 1 16 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ "getInt")+ [ PUnboxedSum+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 8 16 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Lib.hs" 16 8 16 10+ , SrcSpan "tests/examples/Lib.hs" 16 11 16 12+ , SrcSpan "tests/examples/Lib.hs" 16 15 16 17+ ]+ }+ 1+ 0+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 13 16 14+ , srcInfoPoints = []+ }+ "i"))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 18 16 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Lib.hs" 16 18 16 19 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Lib.hs" 16 20 16 21+ , srcInfoPoints = []+ }+ "i"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/Lib.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Lib.hs.prettyprinter.golden view
@@ -0,0 +1,16 @@+{-# LANGUAGE UnboxedSums, MagicHash #-}+module Lib (flip, getInt) where+import GHC.Exts+import Prelude (Int)++{-# NOINLINE flip #-}++flip :: (# Int | Int# #) -> (# Int# | Int #)+flip (# i | #) = (# | i #)+flip (# | i #) = (# i | #)++{-# NOINLINE getInt #-}++getInt :: (# Int# | Int #) -> Int+getInt (# i | #) = I# i+getInt (# | i #) = i
+ tests/examples/List2.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+-----------------------------------------------------------------------------+-- |+-- Module : Type.Family.List+-- Copyright : Copyright (C) 2015 Kyle Carter+-- License : BSD3+--+-- Maintainer : Kyle Carter <kylcarte@indiana.edu>+-- Stability : experimental+-- Portability : RankNTypes+--+-- Convenient aliases and type families for working with+-- type-level lists.+----------------------------------------------------------------------------++module Type.Family.List where++type Ø = '[]+type (:<) = '(:)+infixr 5 :<+
+ tests/examples/List2.hs.exactprinter.golden view
@@ -0,0 +1,36 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+-----------------------------------------------------------------------------+-- |+-- Module : Type.Family.List+-- Copyright : Copyright (C) 2015 Kyle Carter+-- License : BSD3+--+-- Maintainer : Kyle Carter <kylcarte@indiana.edu>+-- Stability : experimental+-- Portability : RankNTypes+--+-- Convenient aliases and type families for working with+-- type-level lists.+----------------------------------------------------------------------------++module Type.Family.List where++type Ø = '[]+type :< = ':+infixr 5 :<++
+ tests/examples/List2.hs.parser.golden view
@@ -0,0 +1,427 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 1 36 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 1 1 1 1+ , SrcSpan "tests/examples/List2.hs" 2 1 2 1+ , SrcSpan "tests/examples/List2.hs" 3 1 3 1+ , SrcSpan "tests/examples/List2.hs" 4 1 4 1+ , SrcSpan "tests/examples/List2.hs" 5 1 5 1+ , SrcSpan "tests/examples/List2.hs" 6 1 6 1+ , SrcSpan "tests/examples/List2.hs" 7 1 7 1+ , SrcSpan "tests/examples/List2.hs" 8 1 8 1+ , SrcSpan "tests/examples/List2.hs" 9 1 9 1+ , SrcSpan "tests/examples/List2.hs" 10 1 10 1+ , SrcSpan "tests/examples/List2.hs" 11 1 11 1+ , SrcSpan "tests/examples/List2.hs" 12 1 12 1+ , SrcSpan "tests/examples/List2.hs" 13 1 13 1+ , SrcSpan "tests/examples/List2.hs" 14 1 14 1+ , SrcSpan "tests/examples/List2.hs" 15 1 15 1+ , SrcSpan "tests/examples/List2.hs" 30 1 30 1+ , SrcSpan "tests/examples/List2.hs" 30 1 30 1+ , SrcSpan "tests/examples/List2.hs" 32 1 32 1+ , SrcSpan "tests/examples/List2.hs" 33 1 33 1+ , SrcSpan "tests/examples/List2.hs" 34 1 34 1+ , SrcSpan "tests/examples/List2.hs" 36 1 36 1+ , SrcSpan "tests/examples/List2.hs" 36 1 36 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 30 1 30 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 30 1 30 7+ , SrcSpan "tests/examples/List2.hs" 30 25 30 30+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 30 8 30 24+ , srcInfoPoints = []+ }+ "Type.Family.List")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 1 1 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 1 1 1 13+ , SrcSpan "tests/examples/List2.hs" 1 37 1 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 1 14 1 36+ , srcInfoPoints = []+ }+ "TypeFamilyDependencies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 2 1 2 13+ , SrcSpan "tests/examples/List2.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 3 1 3 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 3 1 3 13+ , SrcSpan "tests/examples/List2.hs" 3 30 3 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 3 14 3 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 4 1 4 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 4 1 4 13+ , SrcSpan "tests/examples/List2.hs" 4 25 4 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 4 14 4 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 5 1 5 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 5 1 5 13+ , SrcSpan "tests/examples/List2.hs" 5 33 5 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 5 14 5 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 6 1 6 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 6 1 6 13+ , SrcSpan "tests/examples/List2.hs" 6 32 6 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 6 14 6 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 7 1 7 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 7 1 7 13+ , SrcSpan "tests/examples/List2.hs" 7 37 7 40+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 7 14 7 36+ , srcInfoPoints = []+ }+ "FunctionalDependencies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 8 1 8 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 8 1 8 13+ , SrcSpan "tests/examples/List2.hs" 8 35 8 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 8 14 8 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 9 1 9 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 9 1 9 13+ , SrcSpan "tests/examples/List2.hs" 9 27 9 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 9 14 9 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 10 1 10 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 10 1 10 13+ , SrcSpan "tests/examples/List2.hs" 10 25 10 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 10 14 10 24+ , srcInfoPoints = []+ }+ "LambdaCase"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 11 1 11 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 11 1 11 13+ , SrcSpan "tests/examples/List2.hs" 11 28 11 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 11 14 11 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 12 1 12 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 12 1 12 13+ , SrcSpan "tests/examples/List2.hs" 12 29 12 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 12 14 12 28+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 13 1 13 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 13 1 13 13+ , SrcSpan "tests/examples/List2.hs" 13 24 13 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 13 14 13 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 14 1 14 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 14 1 14 13+ , SrcSpan "tests/examples/List2.hs" 14 24 14 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 14 14 14 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 15 1 15 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 15 1 15 13+ , SrcSpan "tests/examples/List2.hs" 15 20 15 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 15 14 15 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 1 32 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 32 1 32 5+ , SrcSpan "tests/examples/List2.hs" 32 11 32 12+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 6 32 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 6 32 7+ , srcInfoPoints = []+ }+ "\216"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 13 32 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 32 13 32 14+ , SrcSpan "tests/examples/List2.hs" 32 15 32 16+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 32 13 32 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 32 13 32 14+ , SrcSpan "tests/examples/List2.hs" 32 15 32 16+ ]+ }+ True+ []))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 1 33 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 33 1 33 5+ , SrcSpan "tests/examples/List2.hs" 33 11 33 12+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 6 33 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 33 6 33 7+ , SrcSpan "tests/examples/List2.hs" 33 7 33 9+ , SrcSpan "tests/examples/List2.hs" 33 9 33 10+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 7 33 9+ , srcInfoPoints = []+ }+ ":<"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 13 33 17+ , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 33 13 33 14 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 13 33 17+ , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 33 13 33 14 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 14 33 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/List2.hs" 33 14 33 15+ , SrcSpan "tests/examples/List2.hs" 33 15 33 16+ , SrcSpan "tests/examples/List2.hs" 33 16 33 17+ ]+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 33 15 33 16+ , srcInfoPoints = []+ }))))+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 1 34 12+ , srcInfoPoints = [ SrcSpan "tests/examples/List2.hs" 34 8 34 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 1 34 7+ , srcInfoPoints = []+ })+ (Just 5)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 10 34 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/List2.hs" 34 10 34 12+ , srcInfoPoints = []+ }+ ":<")+ ]+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/List2.hs" 16 1 16 78)+ "---------------------------------------------------------------------------"+ , Comment False (SrcSpan "tests/examples/List2.hs" 17 1 17 5) " |"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 18 1 18 35)+ " Module : Type.Family.List"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 19 1 19 49)+ " Copyright : Copyright (C) 2015 Kyle Carter"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 20 1 20 23)+ " License : BSD3"+ , Comment False (SrcSpan "tests/examples/List2.hs" 21 1 21 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 22 1 22 53)+ " Maintainer : Kyle Carter <kylcarte@indiana.edu>"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 23 1 23 31)+ " Stability : experimental"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 24 1 24 29)+ " Portability : RankNTypes"+ , Comment False (SrcSpan "tests/examples/List2.hs" 25 1 25 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 26 1 26 57)+ " Convenient aliases and type families for working with"+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 27 1 27 21)+ " type-level lists."+ , Comment+ False+ (SrcSpan "tests/examples/List2.hs" 28 1 28 77)+ "--------------------------------------------------------------------------"+ ]+ )
+ tests/examples/List2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/List2.hs.prettyprinter.golden view
@@ -0,0 +1,22 @@+{-# LANGUAGE TypeFamilyDependencies #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE GADTs #-}+module Type.Family.List where++type Ø = '[]++type (:<) = '(:)++infixr 5 :<
+ tests/examples/MagicHashN.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE MagicHash #-}+module MagicHashN where++a# = 1+b## = 2+c### = 3+main = print (a#, b##, c###)
+ tests/examples/MagicHashN.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashN.hs.parser.golden view
@@ -0,0 +1,262 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 1+ , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1+ , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1+ , SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 1+ , SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 1+ , SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 1+ , SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 1+ , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1+ , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 7+ , SrcSpan "tests/examples/MagicHashN.hs" 2 19 2 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 8 2 18+ , srcInfoPoints = []+ }+ "MagicHashN")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 13+ , SrcSpan "tests/examples/MagicHashN.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "MagicHash"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3+ , srcInfoPoints = []+ }+ "a#"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 5 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ 1+ "1")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 8+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "b##"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 6 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8+ , srcInfoPoints = []+ }+ 2+ "2")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "c###"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 7 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13+ , srcInfoPoints = []+ }+ "print")))+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 15+ , SrcSpan "tests/examples/MagicHashN.hs" 7 17 7 18+ , SrcSpan "tests/examples/MagicHashN.hs" 7 22 7 23+ , SrcSpan "tests/examples/MagicHashN.hs" 7 28 7 29+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17+ , srcInfoPoints = []+ }+ "a#"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22+ , srcInfoPoints = []+ }+ "b##"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28+ , srcInfoPoints = []+ }+ "c###"))+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/MagicHashN.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MagicHashN.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE MagicHash #-}+module MagicHashN where+a# = 1+b## = 2+c### = 3+main = print (a#, b##, c###)
tests/examples/MinimalPragma.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- class Eq a where (==) :: a -> a -> Bool
tests/examples/MultiCtxt.hs.parser.golden view
@@ -72,35 +72,46 @@ , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23 , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ "a")))))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 37@@ -122,35 +133,49 @@ , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34 , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31+ , srcInfoPoints = []+ }+ "a")))))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36
tests/examples/MultiLinePragma.hs.prettyprinter.golden view
@@ -10,7 +10,6 @@ -a -a -a #-}-module Main (main) where main :: IO () main = dat
+ tests/examples/MultiParam.hs view
@@ -0,0 +1,4 @@+module MultiParam where++foo :: MonadError e m => e -> m ()+foo = undefined
+ tests/examples/MultiParam.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiParam.hs.parser.golden view
@@ -0,0 +1,215 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiParam.hs" 1 1 1 1+ , SrcSpan "tests/examples/MultiParam.hs" 3 1 3 1+ , SrcSpan "tests/examples/MultiParam.hs" 4 1 4 1+ , SrcSpan "tests/examples/MultiParam.hs" 5 1 5 1+ , SrcSpan "tests/examples/MultiParam.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 1 1 1 7+ , SrcSpan "tests/examples/MultiParam.hs" 1 19 1 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 1 8 1 18+ , srcInfoPoints = []+ }+ "MultiParam")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 1 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 5 3 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 35+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ "MonadError")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "e")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 28 3 30 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 27+ , srcInfoPoints = []+ }+ "e"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 35+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 31 3 32+ , srcInfoPoints = []+ }+ "m"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+ , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+ , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 33 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 33 3 34+ , SrcSpan "tests/examples/MultiParam.hs" 3 34 3 35+ ]+ }))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 5 4 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 4 5 4 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 4 7 4 16+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , []+ )
+ tests/examples/MultiParam.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/MultiParam.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module MultiParam where++foo :: MonadError e m => e -> m ()+foo = undefined
tests/examples/NPlusK.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE NPlusKPatterns #-}-module Main (main) where f (n + 3) = n
tests/examples/NegativePatterns.hs.parser.golden view
@@ -490,7 +490,7 @@ "a") ]) ]- Nothing+ [] , InfixDecl SrcSpanInfo { srcInfoSpan =
tests/examples/NegativePatterns.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where f 1 = -1 f (-1) = 1 f (-2) = 2
+ tests/examples/NoStartNumIdents.hs view
@@ -0,0 +1,1 @@+1a = ()
+ tests/examples/NoStartNumIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1)+ "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/Nounpack2.hs view
@@ -0,0 +1,3 @@+++data Foo = Foo {-# NOUNPACK #-} Int
+ tests/examples/Nounpack2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Nounpack2.hs.parser.golden view
@@ -0,0 +1,96 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1+ , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1+ ]+ }+ Nothing+ []+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Nounpack2.hs" 3 10 3 11 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Foo"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ "Foo")+ [ TyBang+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 36+ , srcInfoPoints = []+ }+ (NoStrictAnnot+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)+ , srcInfoPoints = []+ })+ (NoUnpack+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 28+ , SrcSpan "tests/examples/Nounpack2.hs" 3 29 3 32+ ]+ })+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36+ , srcInfoPoints = []+ }+ "Int")))+ ])+ ]+ []+ ]+ , []+ )
+ tests/examples/Nounpack2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Nounpack2.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+data Foo = Foo {-# NOUNPACK #-} Int
tests/examples/OptionsPragma.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@ {-# OPTIONS -fno-warn-orphans #-}-module Main (main) where
tests/examples/Overlapable.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance {-# OVERLAP #-} C a instance {-# NO_OVERLAP #-} C a
+ tests/examples/Overlapping.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}++module Overlapping where++class C a b where+ f :: a -> b -> Bool++instance C a b where+ f _ _ = False++instance {-# OVERLAPPING #-} C a a where+ f _ _ = True++instance {-# OVERLAPS #-} C a a where+ f _ _ = True++instance {-# OVERLAPPABLE #-} C a a where+ f _ _ = True++-- >>> f 'a' 'b'+-- True+--+-- >>> f 'a' "starfish"+-- False
+ tests/examples/Overlapping.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapping.hs.parser.golden view
@@ -0,0 +1,730 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 26 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 1+ , SrcSpan "tests/examples/Overlapping.hs" 2 1 2 1+ , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1+ , SrcSpan "tests/examples/Overlapping.hs" 4 1 4 1+ , SrcSpan "tests/examples/Overlapping.hs" 6 1 6 1+ , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 1+ , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 1+ , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 1+ , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 1+ , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1+ , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 1 4 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 4 1 4 7+ , SrcSpan "tests/examples/Overlapping.hs" 4 20 4 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 4 8 4 19+ , srcInfoPoints = []+ }+ "Overlapping")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 1 1 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 1 1 1 13+ , SrcSpan "tests/examples/Overlapping.hs" 1 36 1 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 1 14 1 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 1 2 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 2 1 2 13+ , SrcSpan "tests/examples/Overlapping.hs" 2 36 2 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 1 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 6 1 6 6+ , SrcSpan "tests/examples/Overlapping.hs" 6 13 6 18+ , SrcSpan "tests/examples/Overlapping.hs" 7 3 7 3+ , SrcSpan "tests/examples/Overlapping.hs" 9 1 9 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 12+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 7 6 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "b")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 5 7 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 10 7 12 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 8 7 9+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 7 15 7 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 7 18 7 22+ , srcInfoPoints = []+ }+ "Bool"))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 1 12 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 9 1 9 9+ , SrcSpan "tests/examples/Overlapping.hs" 9 16 9 21+ , SrcSpan "tests/examples/Overlapping.hs" 10 3 10 3+ , SrcSpan "tests/examples/Overlapping.hs" 12 1 12 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 15+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 13+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 10 9 11+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 12 9 13+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 9 14 9 15+ , srcInfoPoints = []+ }+ "b"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 3 10 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 5 10 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 7 10 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 9 10 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 10 9 10 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 10 11 10 16+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 1 15 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 12 1 12 9+ , SrcSpan "tests/examples/Overlapping.hs" 12 36 12 41+ , SrcSpan "tests/examples/Overlapping.hs" 13 3 13 3+ , SrcSpan "tests/examples/Overlapping.hs" 15 1 15 0+ ]+ }+ (Just+ (Overlapping+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 10 12 25+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 35+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 33+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 30 12 31+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 32 12 33+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 12 34 12 35+ , srcInfoPoints = []+ }+ "a"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 3 13 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 5 13 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 7 13 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 9 13 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 13 9 13 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 13 11 13 15+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 1 18 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 15 1 15 9+ , SrcSpan "tests/examples/Overlapping.hs" 15 33 15 38+ , SrcSpan "tests/examples/Overlapping.hs" 16 3 16 3+ , SrcSpan "tests/examples/Overlapping.hs" 18 1 18 0+ ]+ }+ (Just+ (Overlaps+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 10 15 22+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 32+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 30+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 27 15 28+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 29 15 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 15 31 15 32+ , srcInfoPoints = []+ }+ "a"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 3 16 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 5 16 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 7 16 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 9 16 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 16 9 16 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 16 11 16 15+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 1 26 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 18 1 18 9+ , SrcSpan "tests/examples/Overlapping.hs" 18 37 18 42+ , SrcSpan "tests/examples/Overlapping.hs" 19 3 19 3+ , SrcSpan "tests/examples/Overlapping.hs" 26 1 26 0+ ]+ }+ (Just+ (Overlappable+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 10 18 26+ , srcInfoPoints = []+ }))+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 36+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 34+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 31 18 32+ , srcInfoPoints = []+ }+ "C")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 33 18 34+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 18 35 18 36+ , srcInfoPoints = []+ }+ "a"))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ "f")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 5 19 6+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 9 19 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Overlapping.hs" 19 9 19 10 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Overlapping.hs" 19 11 19 15+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/Overlapping.hs" 21 1 21 17)+ " >>> f 'a' 'b'"+ , Comment+ False (SrcSpan "tests/examples/Overlapping.hs" 22 1 22 8) " True"+ , Comment+ False (SrcSpan "tests/examples/Overlapping.hs" 23 1 23 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/Overlapping.hs" 24 1 24 24)+ " >>> f 'a' \"starfish\""+ , Comment+ False (SrcSpan "tests/examples/Overlapping.hs" 25 1 25 9) " False"+ ]+ )
+ tests/examples/Overlapping.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Overlapping.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+module Overlapping where++class C a b where+ f :: a -> b -> Bool++instance C a b where+ f _ _ = False++instance {-# OVERLAPPING #-} C a a where+ f _ _ = True++instance {-# OVERLAPS #-} C a a where+ f _ _ = True++instance {-# OVERLAPPABLE #-} C a a where+ f _ _ = True
+ tests/examples/OverloadedLabels.hs view
@@ -0,0 +1,29 @@+-- Basic tests of overloaded labels++{-# LANGUAGE OverloadedLabels+ , DataKinds+ , FlexibleContexts+ , FlexibleInstances+ , MultiParamTypeClasses+ , NoMonomorphismRestriction+ #-}++import GHC.OverloadedLabels++instance IsLabel "true" Bool where+ fromLabel _ = True++instance IsLabel "_False1'" Bool where+ fromLabel _ = False++a :: IsLabel "true" t => t+a = #true++b = #_False1'++c :: Bool+c = #true++main = do print (a :: Bool)+ print (b :: Bool)+ print c
+ tests/examples/OverloadedLabels.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OverloadedLabels.hs.parser.golden view
@@ -0,0 +1,911 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 30 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1+ , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 9 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 4 12 4 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 5 12 5 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 6 12 6 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 7 12 7 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 8 12 8 13+ , SrcSpan "tests/examples/OverloadedLabels.hs" 9 3 9 6+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 3 14 3 30+ , srcInfoPoints = []+ }+ "OverloadedLabels"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 4 14 4 23+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 5 14 5 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 6 14 6 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 7 14 7 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 8 14 8 39+ , srcInfoPoints = []+ }+ "NoMonomorphismRestriction"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 11 8 11 28+ , srcInfoPoints = []+ }+ "GHC.OverloadedLabels"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 16 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 9+ , SrcSpan "tests/examples/OverloadedLabels.hs" 13 30 13 35+ , SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 3+ , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24+ , srcInfoPoints = []+ }+ "true"+ "true")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29+ , srcInfoPoints = []+ }+ "Bool")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 12+ , srcInfoPoints = []+ }+ "fromLabel")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 13 14 14+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 16 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 19 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 9+ , SrcSpan "tests/examples/OverloadedLabels.hs" 16 34 16 39+ , SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 3+ , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 33+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 28+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 28+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 28+ , srcInfoPoints = []+ }+ "_False1'"+ "_False1'")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 16 29 16 33+ , srcInfoPoints = []+ }+ "Bool")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 12+ , srcInfoPoints = []+ }+ "fromLabel")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 13 17 14+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 16 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ])+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 3 19 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 2+ , srcInfoPoints = []+ }+ "a"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 27+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+ , srcInfoPoints = []+ }+ "true"+ "true")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ "t"))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27+ , srcInfoPoints = []+ }+ "t")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ "a"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 4 ]+ }+ (OverloadedLabel+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 20 5 20 10+ , srcInfoPoints = []+ }+ "true"))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2+ , srcInfoPoints = []+ }+ "b"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 4 ]+ }+ (OverloadedLabel+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 22 5 22 14+ , srcInfoPoints = []+ }+ "_False1'"))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 24 3 24 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 2+ , srcInfoPoints = []+ }+ "c"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10+ , srcInfoPoints = []+ }+ "Bool")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 10+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 4 ]+ }+ (OverloadedLabel+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 25 5 25 10+ , srcInfoPoints = []+ }+ "true"))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 29 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 29 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 27 7 ]+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 29 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 27 10+ , SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 11+ , SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 11+ , SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 11+ , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 18+ , SrcSpan "tests/examples/OverloadedLabels.hs" 27 27 27 28+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 20 27 22 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27+ , srcInfoPoints = []+ }+ "Bool"))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16+ , srcInfoPoints = []+ }+ "print")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 18+ , SrcSpan "tests/examples/OverloadedLabels.hs" 28 27 28 28+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 20 28 22 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19+ , srcInfoPoints = []+ }+ "b")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27+ , srcInfoPoints = []+ }+ "Bool"))))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ "c"))))+ ]))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/OverloadedLabels.hs" 1 1 1 36)+ " Basic tests of overloaded labels"+ ]+ )
+ tests/examples/OverloadedLabels.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/OverloadedLabels.hs.prettyprinter.golden view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedLabels, DataKinds, FlexibleContexts,+ FlexibleInstances, MultiParamTypeClasses, NoMonomorphismRestriction+ #-}+import GHC.OverloadedLabels++instance IsLabel "true" Bool where+ fromLabel _ = True++instance IsLabel "_False1'" Bool where+ fromLabel _ = False++a :: IsLabel "true" t => t+a = #true+b = #_False1'++c :: Bool+c = #true+main+ = do print (a :: Bool)+ print (b :: Bool)+ print c
tests/examples/ParallelArrays.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE ParallelArrays #-}-module Main (main) where dotp_double :: [:Double:] -> [:Double:] -> Double dotp_double xs ys = sumP [:x * y| x <- xs| y <- ys:]
tests/examples/ParallelListComp.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE ParallelListComp #-}-module Main (main) where f xs ys zs = [(x, y, z)| x <- xs| y <- ys, y > 2| z <- zs]
tests/examples/PartialSignatures.hs.parser.golden view
@@ -4024,14 +4024,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+ }+ Nothing)))) (TyWildCard SrcSpanInfo { srcInfoSpan =@@ -4110,14 +4117,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+ }+ Nothing)))) (TyWildCard SrcSpanInfo { srcInfoSpan =@@ -4438,49 +4452,62 @@ (CxSingle SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 16+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19 , srcInfoPoints =- [ SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19 ]+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 16+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19 , srcInfoPoints =- [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11 ]+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9- , srcInfoPoints = []+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9 , srcInfoPoints = [] }- "a"))- (TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9+ , srcInfoPoints = []+ }+ "a"))+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16 , srcInfoPoints = [] }- "Bool"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+ , srcInfoPoints = []+ }+ "Bool"))))))) (TyTuple SrcSpanInfo { srcInfoSpan =@@ -5765,14 +5792,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+ }+ Nothing)))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -6093,46 +6127,63 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 85 25 85 27 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6294,79 +6345,107 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 88 33 88 35 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28 , srcInfoPoints = [] }- "Enum"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ , srcInfoPoints = []+ }+ "Enum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6527,46 +6606,63 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 91 23 91 25 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6729,112 +6825,151 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 94 39 94 41 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26 , srcInfoPoints = [] }- "Enum"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ , srcInfoPoints = []+ }+ "Enum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6991,14 +7126,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+ }+ Nothing)))) (TyCon SrcSpanInfo { srcInfoSpan =@@ -7089,14 +7231,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+ }+ Nothing)))) (TyVar SrcSpanInfo { srcInfoSpan =@@ -7181,14 +7330,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+ }+ Nothing)))) (TyVar SrcSpanInfo { srcInfoSpan =@@ -8716,7 +8872,7 @@ } "c"))) []- Nothing+ [] , InstDecl SrcSpanInfo { srcInfoSpan =@@ -10535,13 +10691,19 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 187 10 187 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8 , srcInfoPoints = [] }- Nothing))))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8+ , srcInfoPoints = []+ }+ Nothing))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -12349,41 +12511,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16- , srcInfoPoints = []+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19 , srcInfoPoints = [] }- "Show"))- [ TyWildCard- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19- , srcInfoPoints = []- }- (Just- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19- , srcInfoPoints = []- }- "a"))- ])))+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -12758,7 +12933,7 @@ "a") ]) ]- Nothing+ [] , TypeSig SrcSpanInfo { srcInfoSpan =@@ -13138,41 +13313,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26- , srcInfoPoints = []+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29 , srcInfoPoints = [] }- "Show"))- [ TyWildCard- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29- , srcInfoPoints = []- }- (Just- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29- , srcInfoPoints = []- }- "x"))- ])))+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29+ , srcInfoPoints = []+ }+ "x"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -13403,7 +13591,7 @@ "a") ]) ]- Nothing+ [] , InstDecl SrcSpanInfo { srcInfoSpan =@@ -13766,7 +13954,7 @@ "a") ]) ]- Nothing+ [] , InstDecl SrcSpanInfo { srcInfoSpan =@@ -14180,7 +14368,7 @@ })))) ]) ]- Nothing+ [] , TypeSig SrcSpanInfo { srcInfoSpan =@@ -14211,14 +14399,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+ }+ Nothing)))) (TyWildCard SrcSpanInfo { srcInfoSpan =@@ -16075,47 +16270,64 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 289 21 289 23 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16 , srcInfoPoints = [] }- "Show"))- [ TyWildCard- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16- , srcInfoPoints = []- }- (Just- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16- , srcInfoPoints = []- }- "a"))- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16+ , srcInfoPoints = []+ }+ "a"))))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo
tests/examples/PartialSignatures.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs, NamedWildCards, ScopedTypeVariables #-}-module Main (main) where bar :: Int -> _ Int bar x = Foo True () x@@ -7,32 +6,32 @@ addAndOr1 :: _ addAndOr1 (a, b) (c, d) = (a `plus` d, b || c) where plus :: Int -> Int -> Int- plus x y = x + y+ x `plus` y = x + y addAndOr2 :: _ -> _ addAndOr2 (a, b) (c, d) = (a `plus` d, b || c) where plus :: Int -> Int -> Int- plus x y = x + y+ x `plus` y = x + y addAndOr3 :: _ -> _ -> _ addAndOr3 (a, b) (c, d) = (a `plus` d, b || c) where plus :: Int -> Int -> Int- plus x y = x + y+ x `plus` y = x + y addAndOr4 :: (_ _ _) -> (_ _ _) -> (_ _ _) addAndOr4 (a, b) (c, d) = (a `plus` d, b || c) where plus :: Int -> Int -> Int- plus x y = x + y+ x `plus` y = x + y addAndOr5 :: (_, _) -> (_, _) -> (_, _) addAndOr5 (a, b) (c, d) = (a `plus` d, b || c) where plus :: Int -> Int -> Int- plus x y = x + y+ x `plus` y = x + y addAndOr6 :: (Int, _) -> (Bool, _) -> (_ Int Bool) addAndOr6 (a, b) (c, d) = (a `plus` d, b || c) where plus :: Int -> Int -> Int- plus x y = x + y+ x `plus` y = x + y bar :: _ -> _ bar x = not x
+ tests/examples/PatSynFix.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern A <- (True, True) where A = (not $ False && True, True)+exp = not $ False && True
+ tests/examples/PatSynFix.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatSynFix.hs.parser.golden view
@@ -0,0 +1,381 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 1+ , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatSynFix.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 8+ , SrcSpan "tests/examples/PatSynFix.hs" 2 11 2 13+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10+ , srcInfoPoints = []+ }+ "A"))+ [])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 15+ , SrcSpan "tests/examples/PatSynFix.hs" 2 19 2 20+ , SrcSpan "tests/examples/PatSynFix.hs" 2 25 2 26+ ]+ }+ Boxed+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19+ , srcInfoPoints = []+ }+ "True"))+ []+ , PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25+ , srcInfoPoints = []+ }+ "True"))+ []+ ])+ (ExplicitBidirectional+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 27 3 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 27 2 32+ , SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 33+ , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 64+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34+ , srcInfoPoints = []+ }+ "A"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 36 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 38+ , SrcSpan "tests/examples/PatSynFix.hs" 2 57 2 58+ , SrcSpan "tests/examples/PatSynFix.hs" 2 63 2 64+ ]+ }+ Boxed+ [ InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41+ , srcInfoPoints = []+ }+ "not")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 57+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49+ , srcInfoPoints = []+ }+ "False")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52+ , srcInfoPoints = []+ }+ "&&")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57+ , srcInfoPoints = []+ }+ "True"))))+ , Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63+ , srcInfoPoints = []+ }+ "True"))+ ]))+ Nothing+ ])+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 26+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "exp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 26+ , srcInfoPoints = [ SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 6 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10+ , srcInfoPoints = []+ }+ "not")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12+ , srcInfoPoints = []+ }+ "$")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 26+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ "False")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21+ , srcInfoPoints = []+ }+ "&&")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26+ , srcInfoPoints = []+ }+ "True"))))))+ Nothing+ ]+ , []+ )
+ tests/examples/PatSynFix.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatSynFix.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE PatternSynonyms #-}++pattern A <- (True, True)+ where A = (not $ False && True, True)+exp = not $ False && True
+ tests/examples/PatternSplice.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+module PatternSpliceTest where++foo :: Int -> Bool+foo $( [p| 42 |] ) = True+foo _ = False
+ tests/examples/PatternSplice.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSplice.hs.parser.golden view
@@ -0,0 +1,235 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 1+ , SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 1+ , SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 1+ , SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 1+ , SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 1+ , SrcSpan "tests/examples/PatternSplice.hs" 7 1 7 1+ , SrcSpan "tests/examples/PatternSplice.hs" 7 1 7 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 2 1 2 7+ , SrcSpan "tests/examples/PatternSplice.hs" 2 26 2 31+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 2 8 2 25+ , srcInfoPoints = []+ }+ "PatternSpliceTest")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 1 1 1 13+ , SrcSpan "tests/examples/PatternSplice.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 4 5 4 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 4 12 4 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 8 4 11+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 4 15 4 19+ , srcInfoPoints = []+ }+ "Bool"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 6 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 1 5 4+ , srcInfoPoints = []+ }+ "foo")+ [ PSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 7+ , SrcSpan "tests/examples/PatternSplice.hs" 5 18 5 19+ ]+ }+ (ParenSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 5 5 7+ , SrcSpan "tests/examples/PatternSplice.hs" 5 18 5 19+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 11+ , SrcSpan "tests/examples/PatternSplice.hs" 5 15 5 17+ ]+ }+ (PatBracket+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 8 5 11+ , SrcSpan "tests/examples/PatternSplice.hs" 5 15 5 17+ ]+ }+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSplice.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ 42+ "42")))))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 20 5 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 5 20 5 21 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 5 22 5 26+ , srcInfoPoints = []+ }+ "True"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "foo")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 20 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSplice.hs" 6 20 6 21 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PatternSplice.hs" 6 22 6 27+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/PatternSplice.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PatternSplice.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+module PatternSpliceTest where++foo :: Int -> Bool+foo $( [p| 42 |] ) = True+foo _ = False
tests/examples/PatternSynonymSignatures.hs.parser.golden view
@@ -46,16 +46,18 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 13 4 15 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 9 4 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ "Syn"+ ] Nothing Nothing Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan =@@ -84,13 +86,14 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 13 6 15 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 9 6 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 9 6 12+ , srcInfoPoints = []+ }+ "Syn"+ ] Nothing (Just (CxEmpty@@ -103,6 +106,7 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 19 6 21 ] }))+ Nothing (Just (CxEmpty SrcSpanInfo@@ -142,13 +146,14 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 13 8 15 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 9 8 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 9 8 12+ , srcInfoPoints = []+ }+ "Syn"+ ] Nothing (Just (CxSingle@@ -158,40 +163,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25 , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing (Just (CxSingle SrcSpanInfo@@ -200,40 +219,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35 , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ "b")))))) (TyCon SrcSpanInfo { srcInfoSpan =@@ -262,13 +294,14 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 13 10 15 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 9 10 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 9 10 12+ , srcInfoPoints = []+ }+ "Syn"+ ] Nothing (Just (CxSingle@@ -279,7 +312,7 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25@@ -287,34 +320,51 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22+ , srcInfoPoints = []+ }+ "b")))))) Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan =@@ -343,13 +393,14 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 13 12 15 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 9 12 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 9 12 12+ , srcInfoPoints = []+ }+ "Syn"+ ] Nothing (Just (CxSingle@@ -360,7 +411,7 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25@@ -368,33 +419,50 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ "b"))))))+ Nothing (Just (CxEmpty SrcSpanInfo@@ -434,13 +502,14 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 13 14 15 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 9 14 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 9 14 12+ , srcInfoPoints = []+ }+ "Syn"+ ] Nothing (Just (CxEmpty@@ -453,6 +522,7 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 19 14 21 ] }))+ Nothing (Just (CxSingle SrcSpanInfo@@ -462,7 +532,7 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31@@ -470,33 +540,49 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ "b")))))) (TyCon SrcSpanInfo { srcInfoSpan =
tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden view
@@ -1,14 +1,13 @@ {-# LANGUAGE PatternSynonyms #-}-module Main (main) where pattern Syn :: Typ -pattern Syn :: Typ+pattern Syn :: () => () => Typ pattern Syn :: Show a => Show b => Typ pattern Syn :: Show b => Typ -pattern Syn :: Show b => Typ+pattern Syn :: Show b => () => Typ pattern Syn :: () => Show b => Typ
tests/examples/PatternSynonyms.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE PatternSynonyms #-}-module Main (main) where pattern A = Nothing
tests/examples/PatternSynonyms3.hs.parser.golden view
@@ -453,16 +453,18 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 12 16 12 18 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 12 9 12 15- , srcInfoPoints = []- }- "Single")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 12 9 12 15+ , srcInfoPoints = []+ }+ "Single"+ ] Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -580,13 +582,14 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 16 16 18 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 9 16 15- , srcInfoPoints = []- }- "Single")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 9 16 15+ , srcInfoPoints = []+ }+ "Single"+ ] Nothing (Just (CxEmpty@@ -599,6 +602,7 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 22 16 24 ] }))+ Nothing (Just (CxSingle SrcSpanInfo@@ -620,39 +624,50 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 34 16 36 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -804,39 +819,50 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 15 19 17 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -978,16 +1004,18 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 22 20 22 22 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 22 9 22 19- , srcInfoPoints = []- }- "SinglePair")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 22 9 22 19+ , srcInfoPoints = []+ }+ "SinglePair"+ ] Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -1189,39 +1217,50 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 15 25 17 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -1469,16 +1508,18 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 30 11 30 13 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 30 9 30 10- , srcInfoPoints = []- }- "C")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 30 9 30 10+ , srcInfoPoints = []+ }+ "C"+ ] Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -1712,13 +1753,14 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 32 34 33 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 34 9 34 12- , srcInfoPoints = []- }- "Syn")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 34 9 34 12+ , srcInfoPoints = []+ }+ "Syn"+ ] (Just [ UnkindedVar SrcSpanInfo@@ -1771,6 +1813,7 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 37 34 39 ] }))+ Nothing (Just (CxEmpty SrcSpanInfo@@ -1810,13 +1853,14 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 11 36 13 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 9 36 10- , srcInfoPoints = []- }- "C")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ "C"+ ] Nothing (Just (CxSingle@@ -1839,71 +1883,83 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 31 36 33 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29 , srcInfoPoints = [] }- "Show"))- [ TyTuple- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29- , srcInfoPoints =- [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21- , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23- , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29- ]- }- Boxed- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22- , srcInfoPoints = []- }- "a")- , TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28- , srcInfoPoints = []- }- "Bool"))- ]- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ , srcInfoPoints = []+ }+ "Show")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ "Bool"))+ ])))))) Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -2198,16 +2254,18 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 39 11 39 13 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 39 9 39 10- , srcInfoPoints = []- }- "P")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 39 9 39 10+ , srcInfoPoints = []+ }+ "P"+ ] Nothing Nothing Nothing+ Nothing (TyApp SrcSpanInfo { srcInfoSpan =@@ -2350,16 +2408,18 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 42 11 42 13 ] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 42 9 42 10- , srcInfoPoints = []- }- "D")+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 42 9 42 10+ , srcInfoPoints = []+ }+ "D"+ ] Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -3230,6 +3290,8 @@ } "MkT") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -3325,7 +3387,7 @@ } "T"))))) ]- Nothing+ [] , PatSyn SrcSpanInfo { srcInfoSpan =
tests/examples/PatternSynonyms3.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE PatternSynonyms, BangPatterns, PolyKinds, DataKinds, GADTs, FlexibleContexts, ViewPatterns #-} {-# LANGUAGE ExplicitForAll #-}-module Main (main) where pattern Single x <- [x] @@ -33,7 +32,7 @@ pattern C x = Y (Just x) -pattern Syn :: forall a b c . Int+pattern Syn :: forall a b c . () => () => Int pattern C :: (Show (a, Bool)) => a -> X Maybe (Maybe (a, Bool))
tests/examples/PolyKindSigs.hs.parser.golden view
@@ -89,18 +89,18 @@ } "Foo")) (Just- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 19 , srcInfoPoints = [ SrcSpan "tests/examples/PolyKindSigs.hs" 7 15 7 17 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 14 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 18 7 19 , srcInfoPoints = []@@ -118,6 +118,8 @@ } "Foo") Nothing+ Nothing+ Nothing (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 8 10 8 15@@ -151,7 +153,7 @@ } "a"))) ]- Nothing+ [] ] , [ Comment False
tests/examples/PolyKinds.hs.parser.golden view
@@ -91,7 +91,7 @@ "Proxy") []) ]- Nothing+ [] , ClassDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 1 5 31
tests/examples/PolyKinds.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE PolyKinds #-}-module Main (main) where data Proxy t = Proxy
+ tests/examples/Ppr048.hs view
@@ -0,0 +1,10 @@+module Ppr048 where++{-# SCc foo #-}+foo :: Int -> Int+foo x = x++{-# SCc foo2 "label" #-}+foo2 :: ()+foo2 = ()+
+ tests/examples/Ppr048.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+ (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
+ tests/examples/Ppr048.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/Ppr048.hs" 3 9) "Parse error: foo"
tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden view
@@ -1,1 +1,10 @@-Match+Roundtrip test failed++AST 1:++Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "0x8000000000000000"))))) Nothing]++AST 2:++Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "9223372036854775808"))))) Nothing]+
tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE MagicHash #-}-module Main (main) where minInt = I# (9223372036854775808#)
+ tests/examples/PromotedSpace.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++-- Promoted list containing promoted constructor with quote+type PL1 = '[ 'True ]++-- Promoted list containing promoted list+type PL2 = '[ '[Int] ]++-- Promoted list containing promoted tuple+type PL3 = '[ '(Int, Bool) ]++-- Promoted tuple containing promoted constructor with quote+type PT1 = '( 'True, False )++-- Promoted tuple containing promoted list+type PT2 = '( '[Int], Bool )++-- Promoted tuple containing promoted tuple+type PT3 = '( '(Int, Bool), Char )
+ tests/examples/PromotedSpace.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.parser.golden view
@@ -0,0 +1,617 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 21 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 7+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "PromotedSpace")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 10 5 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ "PL1"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ "True")))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 10 8 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "PL2"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 10 11 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ "PL3"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 10 14 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+ , srcInfoPoints = []+ }+ "PT1"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+ , srcInfoPoints = []+ }+ "True")))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ "False"))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 10 17 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ "PT2"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ "Int"))+ ])+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ "Bool"))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 10 20 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+ , srcInfoPoints = []+ }+ "PT3"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ "Char"))+ ]))+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 4 1 4 60)+ " Promoted list containing promoted constructor with quote"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 7 1 7 42)+ " Promoted list containing promoted list"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 10 1 10 43)+ " Promoted list containing promoted tuple"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 13 1 13 61)+ " Promoted tuple containing promoted constructor with quote"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 16 1 16 43)+ " Promoted tuple containing promoted list"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 19 1 19 44)+ " Promoted tuple containing promoted tuple"+ ]+ )
+ tests/examples/PromotedSpace.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.prettyprinter.golden view
@@ -0,0 +1,14 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++type PL1 = '[ 'True]++type PL2 = '[ '[Int]]++type PL3 = '[ '(Int, Bool)]++type PT1 = '( 'True, False)++type PT2 = '( '[Int], Bool)++type PT3 = '( '(Int, Bool), Char)
tests/examples/QualifiedQQuote.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import qualified Language.Haskell.TH as T x :: T.DecsQ
tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE NamedFieldPuns #-}-module Main (main) where f (C{M.a}) = a
+ tests/examples/QuantifiedConstraints.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a. Eq (f a)) => C f
+ tests/examples/QuantifiedConstraints.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.parser.golden view
@@ -0,0 +1,222 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "ExplicitForAll"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 13+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 36 2 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "QuantifiedConstraints"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 6 ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 22+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 25 4 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 22 4 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+ , srcInfoPoints = []+ }+ "a"))))))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 34+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "f")))+ []+ Nothing+ ]+ , []+ )
+ tests/examples/QuantifiedConstraints.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a . Eq (f a)) => C f
− tests/examples/QuasiQuoteExpr2.hs
@@ -1,3 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}--foo = [$q| a b |]
− tests/examples/QuasiQuoteExpr2.hs.exactprinter.golden
@@ -1,4 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}--foo = [q| a b |]-
− tests/examples/QuasiQuoteExpr2.hs.parser.golden
@@ -1,69 +0,0 @@-ParseOk- ( Module- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 4 1- , srcInfoPoints =- [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 1- , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1- , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1- , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1- , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 4 1 4 1- , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 4 1 4 1- ]- }- Nothing- [ LanguagePragma- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 29- , srcInfoPoints =- [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 13- , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 26 1 29- ]- }- [ Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 14 1 25- , srcInfoPoints = []- }- "QuasiQuotes"- ]- ]- []- [ PatBind- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 18- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 4- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 4- , srcInfoPoints = []- }- "foo"))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 5 3 18- , srcInfoPoints =- [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 5 3 6 ]- }- (QuasiQuote- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 7 3 18- , srcInfoPoints = []- }- "q"- " a b "))- Nothing- ]- , []- )
− tests/examples/QuasiQuoteExpr2.hs.prettyparser.golden
@@ -1,1 +0,0 @@-Match
− tests/examples/QuasiQuoteExpr2.hs.prettyprinter.golden
@@ -1,3 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}-module Main (main) where-foo = [q| a b |]
tests/examples/QuasiQuoteLines.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import Here str :: String
tests/examples/QuasiQuoteOld.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where import Here str :: String
tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where f [True] = 1 f _ = 0
tests/examples/QuasiQuoteSplice.hs.parser.golden view
@@ -165,7 +165,7 @@ "PF") []) ]- Nothing+ [] , PatBind SrcSpanInfo { srcInfoSpan =
tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden view
@@ -1,6 +1,5 @@ {-# LANGUAGE TemplateHaskell, RankNTypes #-} {-# OPTIONS_GHC -F -pgmFtrhsx #-}-module Main (main) where import Language.Haskell.TH data PageFunction m a = PF
tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where [undefined| this quasiquote is acceptable to ghc's
+ tests/examples/QuasiQuoteUnit.hs view
@@ -0,0 +1,5 @@+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE TemplateHaskell #-}++unNest n = conP '()+
+ tests/examples/QuasiQuoteUnit.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteUnit.hs.parser.golden view
@@ -0,0 +1,139 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 26 1 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 13+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 30 2 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 14 2 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 7+ , srcInfoPoints = []+ }+ "unNest")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16+ , srcInfoPoints = []+ }+ "conP")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 18 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19+ , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20+ ]+ })))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/QuasiQuoteUnit.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE TemplateHaskell #-}+unNest n = conP '()
tests/examples/RCategory.hs.parser.golden view
@@ -218,1713 +218,1996 @@ SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 3 15 43 , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7- , SrcSpan "tests/examples/RCategory.hs" 15 30 15 32- ]- }- (DHApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29- , srcInfoPoints = []- }- (DHApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27- , srcInfoPoints = []- }- (DHApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25- , srcInfoPoints = []- }- (DHead- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21- , srcInfoPoints = []- }- "RCategoryCtxt"))- (UnkindedVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25- , srcInfoPoints = []- }- "cat")))- (UnkindedVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27- , srcInfoPoints = []- }- "a")))- (UnkindedVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29- , srcInfoPoints = []- }- "b")))- (Just- (KindVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43- , srcInfoPoints = []- }- "Constraint"))))- , ClsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]- }- (TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]- }- [ Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5- , srcInfoPoints = []- }- "id"- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16- , srcInfoPoints = []- }- Nothing- (Just- (CxSingle- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]- }- (ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 9 18 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 9 18 22- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 23 18 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 23 18 26- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 27 18 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 27 18 28- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 29 18 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 29 18 30- , srcInfoPoints = []- }- "a")- ])))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 19 9 19 12- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 19 13 19 14- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16- , srcInfoPoints = []- }- "a")))))- , ClsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]- }- (TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]- }- [ Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4- , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5- , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6- ]- }- "."- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39- , srcInfoPoints = []- }- Nothing- (Just- (CxTuple- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11- , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33- , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56- , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79- , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9- ]- }- [ ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 11 22 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 11 22 24- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 25 22 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 25 22 28- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 29 22 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 29 22 30- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 31 22 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 31 22 32- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 34 22 47- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 34 22 47- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 48 22 51- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 48 22 51- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 52 22 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 52 22 53- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 54 22 55- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 54 22 55- , srcInfoPoints = []- }- "b")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 57 22 70- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 57 22 70- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 71 22 74- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 71 22 74- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 75 22 76- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 75 22 76- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 77 22 78- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 77 22 78- , srcInfoPoints = []- }- "c")- ]- ]))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 10 23 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 10 23 13- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 14 23 15- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 14 23 15- , srcInfoPoints = []- }- "b")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 16 23 17- , srcInfoPoints = []- }- "c")))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 21 23 26- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 21 23 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 21 23 24- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 25 23 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 25 23 26- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 27 23 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 27 23 28- , srcInfoPoints = []- }- "b")))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 32 23 37- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 32 23 35- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 32 23 35- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 36 23 37- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 36 23 37- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 38 23 39- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 38 23 39- , srcInfoPoints = []- }- "c")))))))- ])- , RulePragmaDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10- , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5- ]- }- [ Rule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16- , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23- , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27- , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25- ]- }- "identity/left"- Nothing- (Just- [ RuleVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25- , srcInfoPoints = []- }- "p")- ])- (InfixApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23- , srcInfoPoints = []- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19- , srcInfoPoints = []- }- "id")))- (QVarOp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21- , srcInfoPoints = []- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21- , srcInfoPoints = []- }- ".")))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23- , srcInfoPoints = []- }- "p"))))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27- , srcInfoPoints = []- }- "p")))- , Rule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17- , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31- , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35- , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25- ]- }- "identity/right"- Nothing- (Just- [ RuleVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33- , srcInfoPoints = []- }- "p")- ])- (InfixApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23- , srcInfoPoints = []- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18- , srcInfoPoints = []- }- "p")))- (QVarOp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20- , srcInfoPoints = []- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20- , srcInfoPoints = []- }- ".")))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23- , srcInfoPoints = []- }- "id"))))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27- , srcInfoPoints = []- }- "p")))- ]- , InstDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9- , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30- , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3- , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3- , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3- , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0- ]- }- Nothing- (IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24- , srcInfoPoints = []- }- Nothing- Nothing- (IHApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24- , srcInfoPoints = []- }- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19- , srcInfoPoints = []- }- "RCategory")))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21- , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23- , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24- ]- }- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21- , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23- , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24- ]- }- (FunCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21- , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23- , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24- ]- })))))- (Just- [ InsType- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7- , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32- ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26- , srcInfoPoints = []- }- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 33 8 33 21- , srcInfoPoints = []- }- "RCategoryCtxt")))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23- , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25- , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26- ]- }- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23- , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25- , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26- ]- }- (FunCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 33 22 33 26- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23- , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25- , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26- ]- }))))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30- , srcInfoPoints = []- }- "a")))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34- , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35- ]- }- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34- , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35- ]- }- (UnitCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34- , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35- ]- })))- , InsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18- , srcInfoPoints = []- }- (PatBind- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5- , srcInfoPoints = []- }- "id"))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- (Qual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- (ModuleName- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- "Prelude")- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- "id"))))- Nothing)- , InsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20- , srcInfoPoints = []- }- (PatBind- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4- , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5- , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5- , srcInfoPoints = []- }- "."))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10- , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20- ]- }- (Qual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10- , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20- ]- }- (ModuleName- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , srcInfoPoints = []- }- "Prelude")- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , srcInfoPoints = []- }- "."))))- Nothing)- ])- , TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]- }- [ Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2- , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5- , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6- ]- }- "<<<"- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39- , srcInfoPoints = []- }- Nothing- (Just- (CxTuple- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11- , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33- , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56- , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79- , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94- , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9- ]- }- [ ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55- , srcInfoPoints = []- }- "b")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89- , srcInfoPoints = []- }- "RCategory"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93- , srcInfoPoints = []- }- "cat")- ]- ]))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15- , srcInfoPoints = []- }- "b")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17- , srcInfoPoints = []- }- "c")))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28- , srcInfoPoints = []- }- "b")))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39- , srcInfoPoints = []- }- "c"))))))- , PatBind- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2- , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5- , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5- , srcInfoPoints = []- }- "<<<"))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10- , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11- , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12- ]- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10- , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11- , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11- , srcInfoPoints = []- }- "."))))- Nothing- , TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]- }- [ Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2- , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5- , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6- ]- }- ">>>"- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39- , srcInfoPoints = []- }- Nothing- (Just- (CxTuple- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11- , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33- , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56- , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79- , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94- , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9- ]- }- [ ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55- , srcInfoPoints = []- }- "b")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89- , srcInfoPoints = []- }- "RCategory"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93- , srcInfoPoints = []- }- "cat")- ]+ [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25+ , srcInfoPoints = []+ }+ "cat")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ "b")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 30 15 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ "Constraint")))))+ Nothing+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5+ , srcInfoPoints = []+ }+ "id"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 9 18 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 9 18 22+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 23 18 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 23 18 26+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+ , srcInfoPoints = []+ }+ "a"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4+ , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5+ , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6+ ]+ }+ "."+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11+ , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33+ , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56+ , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79+ , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 11 22 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 11 22 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 25 22 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 25 22 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 34 22 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 34 22 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 48 22 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 48 22 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 57 22 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 57 22 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 71 22 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 71 22 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+ , srcInfoPoints = []+ }+ "c")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+ , srcInfoPoints = []+ }+ "c")))))))+ ])+ , RulePragmaDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10+ , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5+ ]+ }+ [ Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16+ , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23+ , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27+ , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25+ ]+ }+ "identity/left"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+ , srcInfoPoints = []+ }+ "p")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ "id")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ "p"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ "p")))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17+ , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31+ , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35+ , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25+ ]+ }+ "identity/right"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+ , srcInfoPoints = []+ }+ "p")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ "id"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ "p")))+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9+ , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30+ , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3+ , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3+ , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3+ , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ })))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7+ , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ })))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+ , srcInfoPoints = []+ }+ "id"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ "Prelude")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ "id"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4+ , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+ , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+ , srcInfoPoints = []+ }+ "."))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+ , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+ , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , srcInfoPoints = []+ }+ "Prelude")+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , srcInfoPoints = []+ }+ "."))))+ Nothing)+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2+ , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5+ , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6+ ]+ }+ "<<<"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11+ , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33+ , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56+ , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79+ , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94+ , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+ , srcInfoPoints = []+ }+ "cat")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+ , srcInfoPoints = []+ }+ "c")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+ , srcInfoPoints = []+ }+ "c"))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2+ , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+ , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+ , srcInfoPoints = []+ }+ "<<<"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+ , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+ , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , srcInfoPoints = []+ }+ "."))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2+ , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5+ , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6+ ]+ }+ ">>>"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11+ , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33+ , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56+ , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79+ , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94+ , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+ , srcInfoPoints = []+ }+ "cat"))) ])) (TyFun SrcSpanInfo
tests/examples/RCategory2.hs.parser.golden view
@@ -102,9 +102,7 @@ SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 3 6 43 , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7- , SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32- ]+ [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7 ] } (DHApp SrcSpanInfo@@ -166,22 +164,29 @@ } "b"))) (Just- (KindVar+ (KindSig SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 30 6 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32 ] }- (UnQual+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43 , srcInfoPoints = [] }- "Constraint"))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43+ , srcInfoPoints = []+ }+ "Constraint")))))+ Nothing ]) ] , []
tests/examples/RCategory2.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies, ConstraintKinds #-}-module Main (main) where import GHC.Prim class RCategory cat where
tests/examples/RCategory3.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies, ConstraintKinds #-}-module Main (main) where instance RCategory (->) where type RCategoryCtxt (->) a a = ()
tests/examples/ReadP.hs.parser.golden view
@@ -125,17 +125,22 @@ , srcInfoPoints = [] } "b")))- (UnQual+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32 , srcInfoPoints = [] }- "."))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 31 2 32+ , srcInfoPoints = []+ }+ "."))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ReadP.hs" 2 33 2 50@@ -234,7 +239,7 @@ "b"))))) ]) ]- Nothing+ [] ] , [] )
tests/examples/ReadP.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE TypeOperators #-}-module Main (main) where newtype ReadP a = R (forall b . (a -> P b) -> P b)
tests/examples/RealGHC.lhs.parser.golden view
file too large to diff
tests/examples/RecordInfixSelector.hs.parser.golden view
@@ -135,7 +135,7 @@ "Int")))) ]) ]- Nothing+ [] , PatBind SrcSpanInfo { srcInfoSpan =
tests/examples/RecordInfixSelector.hs.prettyprinter.golden view
@@ -1,4 +1,2 @@-module Main (main) where- data RecordWithInfixSelector = Cons{(<>) :: Int -> Int} idRecord = Cons{(<>) = id}
+ tests/examples/RecordPatternSynonyms.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE PatternSynonyms #-}+module ShouldCompile where++pattern Single{x} = [x]++pattern Double{y,z} = (y,z)++pattern More{x} <- (x,_) where+ More x = (x, Nothing)++-- Selector+selector :: Int+selector = x [5]++update :: [String]+update = ["String"] { x = "updated" }
+ tests/examples/RecordPatternSynonyms.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecordPatternSynonyms.hs.parser.golden view
@@ -0,0 +1,688 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 7+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "ShouldCompile")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 13+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 8+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 19 4 20+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 15 4 16+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 17 4 18+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15+ , srcInfoPoints = []+ }+ "Single"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "x"))+ ])+ (PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 22+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 23 4 24+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "x")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 8+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 21 6 22+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 15 6 16+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 17 6 18+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 19 6 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15+ , srcInfoPoints = []+ }+ "Double"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y"))+ , PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19+ , srcInfoPoints = []+ }+ "z"))+ ])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 24+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 25 6 26+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 27 6 28+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25+ , srcInfoPoints = []+ }+ "y")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ "z")+ ])+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 8+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 17 8 19+ ]+ }+ (PRec+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 13 8 14+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 15 8 16+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13+ , srcInfoPoints = []+ }+ "More"))+ [ PFieldPun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "x"))+ ])+ (PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 21+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 22 8 23+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 24 8 25+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ "x")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 23 8 24+ , srcInfoPoints = []+ }+ ])+ (ExplicitBidirectional+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 12 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 8 31+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 3+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 24+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7+ , srcInfoPoints = []+ }+ "More"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9+ , srcInfoPoints = []+ }+ "x")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 11 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 13+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 14 9 15+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 23 9 24+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14+ , srcInfoPoints = []+ }+ "x"))+ , Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23+ , srcInfoPoints = []+ }+ "Nothing"))+ ]))+ Nothing+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 10 12 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 9+ , srcInfoPoints = []+ }+ "selector"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16+ , srcInfoPoints = []+ }+ "Int")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9+ , srcInfoPoints = []+ }+ "selector"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13+ , srcInfoPoints = []+ }+ "x")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 15+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 16 13 17+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16+ , srcInfoPoints = []+ }+ 5+ "5")+ ])))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 8 15 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 7+ , srcInfoPoints = []+ }+ "update"+ ]+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 12+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 18 15 19+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18+ , srcInfoPoints = []+ }+ "String"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 38+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7+ , srcInfoPoints = []+ }+ "update"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 9 ]+ }+ (RecUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 21 16 22+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 37 16 38+ ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 11+ , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 19 16 20+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19+ , srcInfoPoints = []+ }+ "String"+ "String")+ ])+ [ FieldUpdate+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 25 16 26 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24+ , srcInfoPoints = []+ }+ "x"))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36+ , srcInfoPoints = []+ }+ "updated"+ "updated"))+ ]))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/RecordPatternSynonyms.hs" 11 1 11 12)+ " Selector"+ ]+ )
+ tests/examples/RecordPatternSynonyms.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE PatternSynonyms #-}+module ShouldCompile where++pattern Single{x} = [x]++pattern Double{y, z} = (y, z)++pattern More{x} <- (x, _)+ where More x = (x, Nothing)++selector :: Int+selector = x [5]++update :: [String]+update = ["String"]{x = "updated"}
tests/examples/RecursiveDo.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE RecursiveDo #-}-module Main (main) where justOnes = do rec xs <- Just (1 : xs) return (map negate xs)
tests/examples/RoleAnnotations.hs.parser.golden view
@@ -154,7 +154,7 @@ "a") ]) ]- Nothing+ [] , DataDecl SrcSpanInfo { srcInfoSpan =@@ -234,7 +234,7 @@ "a") ]) ]- Nothing+ [] , DataDecl SrcSpanInfo { srcInfoSpan =@@ -314,7 +314,7 @@ "a") ]) ]- Nothing+ [] , DataDecl SrcSpanInfo { srcInfoSpan =@@ -381,7 +381,7 @@ "K6") []) ]- Nothing+ [] , DataDecl SrcSpanInfo { srcInfoSpan =@@ -483,7 +483,7 @@ "b") ]) ]- Nothing+ [] , RoleAnnotDecl SrcSpanInfo { srcInfoSpan =
+ tests/examples/RoleAnnotations2.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE RoleAnnotations #-}++data Foo a = Foo a+type role Foo representational++main = print $ foo 1++foo :: Int -> Int+foo role = 42
+ tests/examples/RoleAnnotations2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations2.hs.parser.golden view
@@ -0,0 +1,379 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 13+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "RoleAnnotations"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 12 3 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ "Foo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , RoleAnnotDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 5+ , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 6 4 10+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ "Foo"))+ [ Representational+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 15 4 31+ , srcInfoPoints = []+ }+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 7 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13+ , srcInfoPoints = []+ }+ "print")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15+ , srcInfoPoints = []+ }+ "$")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19+ , srcInfoPoints = []+ }+ "foo")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21+ , srcInfoPoints = []+ }+ 1+ "1")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 5 8 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 12 8 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 4+ , srcInfoPoints = []+ }+ "foo")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9+ , srcInfoPoints = []+ }+ "role")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 11 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14+ , srcInfoPoints = []+ }+ 42+ "42")))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/RoleAnnotations2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/RoleAnnotations2.hs.prettyprinter.golden view
@@ -0,0 +1,9 @@+{-# LANGUAGE RoleAnnotations #-}++data Foo a = Foo a++type role Foo representational+main = print $ foo 1++foo :: Int -> Int+foo role = 42
tests/examples/Rules.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- {-# RULES "head/build" forall (g :: forall b . (a -> b -> b) -> b -> b) . head (build g) = g (\ x _ -> x) badHead
tests/examples/SafeImports1.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE SafeImports #-}-module Main (main) where import safe Prelude as P
tests/examples/SafeImports2.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE Safe #-}-module Main (main) where import safe Prelude as P
tests/examples/SafeImports3.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE Trustworthy #-}-module Main (main) where import safe Prelude as P
tests/examples/ScopedTypeVariables.hs.parser.golden view
@@ -363,40 +363,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33 , srcInfoPoints = [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28- , srcInfoPoints = []+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30- , srcInfoPoints = []- }- "x")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30+ , srcInfoPoints = []+ }+ "x")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/ScopedTypeVariables.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE ScopedTypeVariables #-}-module Main (main) where test :: IO Char test
tests/examples/SimpleDeriving.hs.parser.golden view
@@ -59,42 +59,43 @@ "T") []) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 23- , srcInfoPoints =- [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 20 ]- }- [ IRule- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23- , srcInfoPoints = []- }- "Eq")))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SimpleDeriving.hs" 1 12 1 20 ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SimpleDeriving.hs" 1 21 1 23+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ] ] , [] )
tests/examples/SimpleDeriving.hs.prettyprinter.golden view
@@ -1,4 +1,1 @@-module Main (main) where--data T = T- deriving Eq+data T = T deriving Eq
tests/examples/SingleClassAsst.hs.parser.golden view
@@ -74,39 +74,50 @@ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 15 3 17 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/SpecializeInstance.hs.parser.golden view
@@ -43,40 +43,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15- , srcInfoPoints = []+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ , srcInfoPoints = []+ }+ "Sized")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17 , srcInfoPoints = [] }- "Sized"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
tests/examples/SpecializeInstance.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- instance Sized a => Sized (Digit a) where {-# SPECIALISE instance Sized (Digit (Elem a)) #-}
tests/examples/SpecializePhaseControl.hs.parser.golden view
@@ -331,72 +331,95 @@ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24 , srcInfoPoints = [] }- "Integral"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24- , srcInfoPoints = []- }- "b")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ , srcInfoPoints = []+ }+ "Integral")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ "b"))) ])) (TyFun SrcSpanInfo@@ -810,72 +833,96 @@ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24 , srcInfoPoints = [] }- "Integral"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24- , srcInfoPoints = []- }- "b")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ , srcInfoPoints = []+ }+ "Integral")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+ , srcInfoPoints = []+ }+ "b"))) ])) (TyFun SrcSpanInfo
tests/examples/SpecializePhaseControl.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- {-# SPECIALISE [1] x :: Integer -> Integer -> Integer, Integer -> Int -> Integer, Int -> Int -> Int #-}
+ tests/examples/StarInType.hs view
@@ -0,0 +1,5 @@+{-# language TypeOperators, KindSignatures #-}+data B = B+data a * b = Foo+type A = B * B+main = print 1
+ tests/examples/StarInType.hs.exactprinter.golden view
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeOperators, KindSignatures #-}+data B = B+data a * b = Foo+type A = B * B+main = print 1+
+ tests/examples/StarInType.hs.parser.golden view
@@ -0,0 +1,287 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 1 1 1 1+ , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+ , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+ , SrcSpan "tests/examples/StarInType.hs" 2 1 2 1+ , SrcSpan "tests/examples/StarInType.hs" 3 1 3 1+ , SrcSpan "tests/examples/StarInType.hs" 4 1 4 1+ , SrcSpan "tests/examples/StarInType.hs" 5 1 5 1+ , SrcSpan "tests/examples/StarInType.hs" 6 1 6 1+ , SrcSpan "tests/examples/StarInType.hs" 6 1 6 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 1 1 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 1 1 1 13+ , SrcSpan "tests/examples/StarInType.hs" 1 27 1 28+ , SrcSpan "tests/examples/StarInType.hs" 1 44 1 47+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 14 1 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 1 29 1 43+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ ]+ []+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 1 2 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 2 8 2 9 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 1 2 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 6 2 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 6 2 7+ , srcInfoPoints = []+ }+ "B"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "B")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 1 3 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 3 12 3 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 11+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 8 3 9+ , srcInfoPoints = []+ }+ "*"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 10 3 11+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 3 14 3 17+ , srcInfoPoints = []+ }+ "Foo")+ [])+ ]+ []+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 1 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 4 1 4 5+ , SrcSpan "tests/examples/StarInType.hs" 4 8 4 9+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "A"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 10 4 11+ , srcInfoPoints = []+ }+ "B")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "*")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 4 14 4 15+ , srcInfoPoints = []+ }+ "B"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 1 5 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 6 5 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/StarInType.hs" 5 6 5 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 8 5 13+ , srcInfoPoints = []+ }+ "print")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/StarInType.hs" 5 14 5 15+ , srcInfoPoints = []+ }+ 1+ "1"))))+ Nothing+ ]+ , []+ )
+ tests/examples/StarInType.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/StarInType.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeOperators, KindSignatures #-}++data B = B++data a * b = Foo++type A = B * B+main = print 1
+ tests/examples/T11727.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE PatternSynonyms #-}++module T11727 where++pattern A,B :: Int+pattern A = 5+pattern B = 5+
+ tests/examples/T11727.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T11727.hs.parser.golden view
@@ -0,0 +1,180 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 1 1 1 1+ , SrcSpan "tests/examples/T11727.hs" 3 1 3 1+ , SrcSpan "tests/examples/T11727.hs" 3 1 3 1+ , SrcSpan "tests/examples/T11727.hs" 5 1 5 1+ , SrcSpan "tests/examples/T11727.hs" 6 1 6 1+ , SrcSpan "tests/examples/T11727.hs" 7 1 7 1+ , SrcSpan "tests/examples/T11727.hs" 9 1 9 1+ , SrcSpan "tests/examples/T11727.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 3 1 3 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 3 1 3 7+ , SrcSpan "tests/examples/T11727.hs" 3 15 3 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 3 8 3 14+ , srcInfoPoints = []+ }+ "T11727")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 1 1 1 13+ , SrcSpan "tests/examples/T11727.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 1 5 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 5 1 5 8+ , SrcSpan "tests/examples/T11727.hs" 5 10 5 11+ , SrcSpan "tests/examples/T11727.hs" 5 13 5 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "A"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 11 5 12+ , srcInfoPoints = []+ }+ "B"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19+ , srcInfoPoints = []+ }+ "Int")))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 1 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 6 1 6 8+ , SrcSpan "tests/examples/T11727.hs" 6 11 6 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "A"))+ [])+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ 5+ "5"))+ ImplicitBidirectional+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 1 7 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T11727.hs" 7 1 7 8+ , SrcSpan "tests/examples/T11727.hs" 7 11 7 12+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ "B"))+ [])+ (PLit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ (Signless+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+ , srcInfoPoints = []+ })+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 7 13 7 14+ , srcInfoPoints = []+ }+ 5+ "5"))+ ImplicitBidirectional+ ]+ , []+ )
+ tests/examples/T11727.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T11727.hs.prettyprinter.golden view
@@ -0,0 +1,8 @@+{-# LANGUAGE PatternSynonyms #-}+module T11727 where++pattern A, B :: Int++pattern A = 5++pattern B = 5
+ tests/examples/T13050.hs view
@@ -0,0 +1,7 @@+module HolesInfix where++f, g, q :: Int -> Int -> Int+f x y = _ x y+g x y = x `_` y+q x y = x `_a` y+
+ tests/examples/T13050.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T13050.hs.parser.golden view
@@ -0,0 +1,439 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 1 8 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 1 1 1 1+ , SrcSpan "tests/examples/T13050.hs" 1 1 1 1+ , SrcSpan "tests/examples/T13050.hs" 3 1 3 1+ , SrcSpan "tests/examples/T13050.hs" 4 1 4 1+ , SrcSpan "tests/examples/T13050.hs" 5 1 5 1+ , SrcSpan "tests/examples/T13050.hs" 6 1 6 1+ , SrcSpan "tests/examples/T13050.hs" 8 1 8 1+ , SrcSpan "tests/examples/T13050.hs" 8 1 8 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 1 1 1 7+ , SrcSpan "tests/examples/T13050.hs" 1 19 1 24+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 1 8 1 18+ , srcInfoPoints = []+ }+ "HolesInfix")+ Nothing+ Nothing))+ []+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 1 3 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 3 2 3 3+ , SrcSpan "tests/examples/T13050.hs" 3 5 3 6+ , SrcSpan "tests/examples/T13050.hs" 3 9 3 11+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 4 3 5+ , srcInfoPoints = []+ }+ "g"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 7 3 8+ , srcInfoPoints = []+ }+ "q"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 29+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 3 16 3 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 12 3 15+ , srcInfoPoints = []+ }+ "Int")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 29+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 3 23 3 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 19 3 22+ , srcInfoPoints = []+ }+ "Int")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 3 26 3 29+ , srcInfoPoints = []+ }+ "Int")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 1 4 2+ , srcInfoPoints = []+ }+ "f")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 5 4 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 7 4 14+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 4 7 4 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 9 4 10+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 1 5 2+ , srcInfoPoints = []+ }+ "g")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 3 5 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 3 5 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 5 5 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 7 5 16+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 5 7 5 8 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 11 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 5 11 5 12+ , SrcSpan "tests/examples/T13050.hs" 5 12 5 13+ , SrcSpan "tests/examples/T13050.hs" 5 13 5 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 11 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 5 11 5 12+ , SrcSpan "tests/examples/T13050.hs" 5 12 5 13+ , SrcSpan "tests/examples/T13050.hs" 5 13 5 14+ ]+ }+ (ExprHole+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 12 5 13+ , srcInfoPoints = []+ })))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 17+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 1 6 2+ , srcInfoPoints = []+ }+ "q")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 3 6 4+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 5 6 6+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 7 6 17+ , srcInfoPoints = [ SrcSpan "tests/examples/T13050.hs" 6 7 6 8 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 9 6 10+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 11 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 6 11 6 12+ , SrcSpan "tests/examples/T13050.hs" 6 12 6 14+ , SrcSpan "tests/examples/T13050.hs" 6 14 6 15+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 11 6 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T13050.hs" 6 11 6 12+ , SrcSpan "tests/examples/T13050.hs" 6 12 6 14+ , SrcSpan "tests/examples/T13050.hs" 6 14 6 15+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 12 6 14+ , srcInfoPoints = []+ }+ "_a")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T13050.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/T13050.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T13050.hs.prettyprinter.golden view
@@ -0,0 +1,6 @@+module HolesInfix where++f, g, q :: Int -> Int -> Int+f x y = _ x y+g x y = x `_` y+q x y = x `_a` y
+ tests/examples/T326.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeApplications #-}+module T326 where++(@:) a b = a
+ tests/examples/T326.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.parser.golden view
@@ -0,0 +1,116 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 1 1 1 1+ , SrcSpan "tests/examples/T326.hs" 2 1 2 1+ , SrcSpan "tests/examples/T326.hs" 2 1 2 1+ , SrcSpan "tests/examples/T326.hs" 4 1 4 1+ , SrcSpan "tests/examples/T326.hs" 5 1 5 1+ , SrcSpan "tests/examples/T326.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 1 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 2 1 2 7+ , SrcSpan "tests/examples/T326.hs" 2 13 2 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ "T326")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 1 1 1 13+ , SrcSpan "tests/examples/T326.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 4 1 4 2+ , SrcSpan "tests/examples/T326.hs" 4 2 4 4+ , SrcSpan "tests/examples/T326.hs" 4 4 4 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 2 4 4+ , srcInfoPoints = []+ }+ "@:")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 10 4 13+ , srcInfoPoints = [ SrcSpan "tests/examples/T326.hs" 4 10 4 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/T326.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TypeApplications #-}+module T326 where+(@:) a b = a
tests/examples/THTSplices.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where import Language.Haskell.TH main = undefined :: $( undefined )
+ tests/examples/THTypedSplices.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([e|| 2 ||]))
+ tests/examples/THTypedSplices.hs.exactprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([|| 2 ||]))+
+ tests/examples/THTypedSplices.hs.parser.golden view
@@ -0,0 +1,177 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 13+ , SrcSpan "tests/examples/THTypedSplices.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 8 4 27+ , srcInfoPoints = []+ }+ "THTypedSplices.Defs"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 33+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 33+ , srcInfoPoints = []+ }+ (SpliceExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+ , srcInfoPoints = []+ }+ (TIdSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+ , srcInfoPoints = []+ }+ "justTH"))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 18+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 32 6 33+ ]+ }+ (SpliceExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+ ]+ }+ (TParenSplice+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+ ]+ }+ (TExpBracket+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ 2+ "2")))))))))+ Nothing+ ]+ , []+ )
+ tests/examples/THTypedSplices.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTypedSplices.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+import THTypedSplices.Defs+main = $$justTH ($$( [|| 2 ||] ))
tests/examples/TabWhitespace.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-module Main (main) where+
+ tests/examples/TemplateHaskellQuotedNames.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.parser.golden view
@@ -0,0 +1,246 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ "g")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 8 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ "Constructor"))))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+ , srcInfoPoints = []+ }+ "function")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "h"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "g")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 8 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+ ]+ }))))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 12+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+ ]+ })))))+ Nothing+ ]+ , []+ )
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TensorTests.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE ConstraintKinds, FlexibleContexts, DataKinds, NoImplicitPrelude,+ RebindableSyntax, ScopedTypeVariables, TypeFamilies, TypeOperators,+ UndecidableInstances #-}++module TensorTests (tensorTests) where++type TMRParams = ( '(,) <$> Tensors) <*> MRCombos+tmrParams :: Proxy TMRParams+tmrParams = Proxy++--type ExtParams = ( '(,) <$> Tensors) <*> MRExtCombos+type TrEmParams = ( '(,) <$> Tensors) <*> MM'RCombos+tremParams :: Proxy TrEmParams+tremParams = Proxy++type NormParams = ( '(,) <$> '[RT]) <*> (Filter Liftable MRCombos)++--data Liftable :: TyFun (Factored, *) Bool -> *+type instance Apply Liftable '(m,zq) = Int64 :== (LiftOf zq)+
+ tests/examples/TensorTests.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TensorTests.hs.parser.golden view
@@ -0,0 +1,965 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 1 21 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 1 1 1 1+ , SrcSpan "tests/examples/TensorTests.hs" 5 1 5 1+ , SrcSpan "tests/examples/TensorTests.hs" 5 1 5 1+ , SrcSpan "tests/examples/TensorTests.hs" 7 1 7 1+ , SrcSpan "tests/examples/TensorTests.hs" 8 1 8 1+ , SrcSpan "tests/examples/TensorTests.hs" 9 1 9 1+ , SrcSpan "tests/examples/TensorTests.hs" 12 1 12 1+ , SrcSpan "tests/examples/TensorTests.hs" 13 1 13 1+ , SrcSpan "tests/examples/TensorTests.hs" 14 1 14 1+ , SrcSpan "tests/examples/TensorTests.hs" 16 1 16 1+ , SrcSpan "tests/examples/TensorTests.hs" 19 1 19 1+ , SrcSpan "tests/examples/TensorTests.hs" 21 1 21 1+ , SrcSpan "tests/examples/TensorTests.hs" 21 1 21 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 1 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 5 1 5 7+ , SrcSpan "tests/examples/TensorTests.hs" 5 34 5 39+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 8 5 19+ , srcInfoPoints = []+ }+ "TensorTests")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 20 5 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 5 20 5 21+ , SrcSpan "tests/examples/TensorTests.hs" 5 32 5 33+ ]+ }+ [ EVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 5 21 5 32+ , srcInfoPoints = []+ }+ "tensorTests"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 1 3 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 1 1 1 13+ , SrcSpan "tests/examples/TensorTests.hs" 1 29 1 30+ , SrcSpan "tests/examples/TensorTests.hs" 1 47 1 48+ , SrcSpan "tests/examples/TensorTests.hs" 1 58 1 59+ , SrcSpan "tests/examples/TensorTests.hs" 1 77 1 78+ , SrcSpan "tests/examples/TensorTests.hs" 2 30 2 31+ , SrcSpan "tests/examples/TensorTests.hs" 2 51 2 52+ , SrcSpan "tests/examples/TensorTests.hs" 2 65 2 66+ , SrcSpan "tests/examples/TensorTests.hs" 2 80 2 81+ , SrcSpan "tests/examples/TensorTests.hs" 3 35 3 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 31 1 47+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 49 1 58+ , srcInfoPoints = []+ }+ "DataKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 1 60 1 77+ , srcInfoPoints = []+ }+ "NoImplicitPrelude"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 14 2 30+ , srcInfoPoints = []+ }+ "RebindableSyntax"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 32 2 51+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 53 2 65+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 2 67 2 80+ , srcInfoPoints = []+ }+ "TypeOperators"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 3 14 3 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 1 7 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 1 7 5+ , SrcSpan "tests/examples/TensorTests.hs" 7 16 7 17+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 6 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 6 7 15+ , srcInfoPoints = []+ }+ "TMRParams"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 18 7 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 18 7 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 18 7 19+ , SrcSpan "tests/examples/TensorTests.hs" 7 36 7 37+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 36+ , srcInfoPoints = []+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 20 7 21 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 20 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 20 7 21 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 21 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 21 7 22+ , SrcSpan "tests/examples/TensorTests.hs" 7 22 7 23+ , SrcSpan "tests/examples/TensorTests.hs" 7 23 7 24+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 21 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 7 21 7 22+ , SrcSpan "tests/examples/TensorTests.hs" 7 22 7 23+ , SrcSpan "tests/examples/TensorTests.hs" 7 23 7 24+ ]+ }+ Boxed+ 2))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 25 7 28+ , srcInfoPoints = []+ }+ "<$>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 29 7 36+ , srcInfoPoints = []+ }+ "Tensors")))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 38 7 41+ , srcInfoPoints = []+ }+ "<*>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 7 42 7 50+ , srcInfoPoints = []+ }+ "MRCombos"))))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 1 8 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 8 11 8 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 1 8 10+ , srcInfoPoints = []+ }+ "tmrParams"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 14 8 19+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 8 20 8 29+ , srcInfoPoints = []+ }+ "TMRParams"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 1 9 10+ , srcInfoPoints = []+ }+ "tmrParams"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 11 9 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 9 11 9 12 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 9 13 9 18+ , srcInfoPoints = []+ }+ "Proxy"))))+ Nothing+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 1 12 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 1 12 5+ , SrcSpan "tests/examples/TensorTests.hs" 12 17 12 18+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 6 12 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 6 12 16+ , srcInfoPoints = []+ }+ "TrEmParams"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 19 12 53+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 19 12 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 19 12 20+ , SrcSpan "tests/examples/TensorTests.hs" 12 37 12 38+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 37+ , srcInfoPoints = []+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 21 12 22 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 21 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 21 12 22 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 22 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 22 12 23+ , SrcSpan "tests/examples/TensorTests.hs" 12 23 12 24+ , SrcSpan "tests/examples/TensorTests.hs" 12 24 12 25+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 22 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 12 22 12 23+ , SrcSpan "tests/examples/TensorTests.hs" 12 23 12 24+ , SrcSpan "tests/examples/TensorTests.hs" 12 24 12 25+ ]+ }+ Boxed+ 2))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 26 12 29+ , srcInfoPoints = []+ }+ "<$>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 30 12 37+ , srcInfoPoints = []+ }+ "Tensors")))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 39 12 42+ , srcInfoPoints = []+ }+ "<*>")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 12 43 12 53+ , srcInfoPoints = []+ }+ "MM'RCombos"))))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 1 13 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 13 12 13 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 1 13 11+ , srcInfoPoints = []+ }+ "tremParams"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 15 13 20+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 13 21 13 31+ , srcInfoPoints = []+ }+ "TrEmParams"))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 1 14 11+ , srcInfoPoints = []+ }+ "tremParams"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 12 14 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 14 12 14 13 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 14 14 14 19+ , srcInfoPoints = []+ }+ "Proxy"))))+ Nothing+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 1 16 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 1 16 5+ , SrcSpan "tests/examples/TensorTests.hs" 16 17 16 18+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 6 16 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 6 16 16+ , srcInfoPoints = []+ }+ "NormParams"))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 19 16 67+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 19 16 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 19 16 20+ , SrcSpan "tests/examples/TensorTests.hs" 16 35 16 36+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 35+ , srcInfoPoints = []+ }+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 21 16 22 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 21 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 21 16 22 ]+ }+ True+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 22 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 22 16 23+ , SrcSpan "tests/examples/TensorTests.hs" 16 23 16 24+ , SrcSpan "tests/examples/TensorTests.hs" 16 24 16 25+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 22 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 22 16 23+ , SrcSpan "tests/examples/TensorTests.hs" 16 23 16 24+ , SrcSpan "tests/examples/TensorTests.hs" 16 24 16 25+ ]+ }+ Boxed+ 2))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 26 16 29+ , srcInfoPoints = []+ }+ "<$>")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 30 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 30 16 31+ , SrcSpan "tests/examples/TensorTests.hs" 16 34 16 35+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 30 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 30 16 31+ , SrcSpan "tests/examples/TensorTests.hs" 16 34 16 35+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TensorTests.hs" 16 32 16 34+ , srcInfoPoints = []+ }+ "RT"))+ ]))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 37 16 40+ , srcInfoPoints = []+ }+ "<*>")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 41 16 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 16 41 16 42+ , SrcSpan "tests/examples/TensorTests.hs" 16 66 16 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 66+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 57+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 42 16 48+ , srcInfoPoints = []+ }+ "Filter")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 49 16 57+ , srcInfoPoints = []+ }+ "Liftable"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 16 58 16 66+ , srcInfoPoints = []+ }+ "MRCombos"))))))+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 1 19 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 1 19 5+ , SrcSpan "tests/examples/TensorTests.hs" 19 6 19 14+ , SrcSpan "tests/examples/TensorTests.hs" 19 38 19 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 15 19 20+ , srcInfoPoints = []+ }+ "Apply")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 21 19 29+ , srcInfoPoints = []+ }+ "Liftable"))))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 30 19 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 30 19 31+ , SrcSpan "tests/examples/TensorTests.hs" 19 33 19 34+ , SrcSpan "tests/examples/TensorTests.hs" 19 36 19 37+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 30 19 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 30 19 31+ , SrcSpan "tests/examples/TensorTests.hs" 19 33 19 34+ , SrcSpan "tests/examples/TensorTests.hs" 19 36 19 37+ ]+ }+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 32 19 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 32 19 33+ , srcInfoPoints = []+ }+ "m")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 34 19 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 34 19 36+ , srcInfoPoints = []+ }+ "zq")+ ])))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 40 19 45+ , srcInfoPoints = []+ }+ "Int64")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 46 19 49+ , srcInfoPoints = []+ }+ ":==")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 50 19 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TensorTests.hs" 19 50 19 51+ , SrcSpan "tests/examples/TensorTests.hs" 19 60 19 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 51 19 57+ , srcInfoPoints = []+ }+ "LiftOf")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 58 19 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TensorTests.hs" 19 58 19 60+ , srcInfoPoints = []+ }+ "zq")))))+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/TensorTests.hs" 11 1 11 55)+ "type ExtParams = ( '(,) <$> Tensors) <*> MRExtCombos"+ , Comment+ False+ (SrcSpan "tests/examples/TensorTests.hs" 18 1 18 49)+ "data Liftable :: TyFun (Factored, *) Bool -> *"+ ]+ )
+ tests/examples/TensorTests.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TensorTests.hs.prettyprinter.golden view
@@ -0,0 +1,18 @@+{-# LANGUAGE ConstraintKinds, FlexibleContexts, DataKinds,+ NoImplicitPrelude, RebindableSyntax, ScopedTypeVariables,+ TypeFamilies, TypeOperators, UndecidableInstances #-}+module TensorTests (tensorTests) where++type TMRParams = ('(,) <$> Tensors) <*> MRCombos++tmrParams :: Proxy TMRParams+tmrParams = Proxy++type TrEmParams = ('(,) <$> Tensors) <*> MM'RCombos++tremParams :: Proxy TrEmParams+tremParams = Proxy++type NormParams = ('(,) <$> '[RT]) <*> (Filter Liftable MRCombos)++type instance Apply Liftable '(m, zq) = Int64 :== (LiftOf zq)
tests/examples/Testing.hs.prettyprinter.golden view
@@ -1,2 +1,1 @@-module Main (main) where main = return ()
tests/examples/TrailingWhere.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where fail = x where broken = 24 where
tests/examples/TrailingWhere2.hs.parser.golden view
@@ -59,7 +59,7 @@ "Baz") []) ]- Nothing+ [] , InstDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TrailingWhere2.hs" 3 1 7 0
tests/examples/TrailingWhere2.hs.prettyprinter.golden view
@@ -1,5 +1,3 @@-module Main (main) where- data Baz = Baz instance Show Baz where
tests/examples/TrailingWhere3.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where main = f where f = g where
tests/examples/TupleSections.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE TupleSections #-}-module Main (main) where foo x = (1, ,) x 3
+ tests/examples/TyQuasiQuote.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}+f :: [qq| something in here |]+f = ()
+ tests/examples/TyQuasiQuote.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TyQuasiQuote.hs.parser.golden view
@@ -0,0 +1,109 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 13+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 25 1 26+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 43 1 46+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 14 1 25+ , srcInfoPoints = []+ }+ "QuasiQuotes"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 27 1 42+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 2 3 2 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyQuasiQuote+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 6 2 31+ , srcInfoPoints = []+ }+ "qq"+ " something in here ")+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 4 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6+ , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7+ ]+ }))))+ Nothing+ ]+ , []+ )
+ tests/examples/TyQuasiQuote.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TyQuasiQuote.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}++f :: [qq| something in here |]+f = ()
tests/examples/TySplice.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where [| f :: $ty |]
tests/examples/TySplice2.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where t1 :: $( [t| Int |] ) t1 = 1
tests/examples/TySplice3.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE QuasiQuotes #-}-module Main (main) where [qq| abc |]
tests/examples/TySplice4.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TemplateHaskell #-}-module Main (main) where x = [d| f :: a -> Int
tests/examples/TypeEqualityParen.hs.parser.golden view
@@ -67,39 +67,50 @@ , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 26 2 28 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12- , srcInfoPoints = []- }- "a")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+ , srcInfoPoints = []+ }+ "a"))) , ParenA SrcSpanInfo { srcInfoSpan =@@ -109,45 +120,52 @@ , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 22 2 23 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16- , srcInfoPoints = []+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16 , srcInfoPoints = [] }- "a"))- (TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "a"))+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] }- "Int"))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22+ , srcInfoPoints = []+ }+ "Int"))))) ])) (TyFun SrcSpanInfo
tests/examples/TypeEqualityParen.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies #-}-module Main (main) where f :: (Eq a, (a ~ Int)) => a -> Int f _ = 3
tests/examples/TypeFunctions.hs.parser.golden view
@@ -81,14 +81,13 @@ "Id") []) ]- Nothing+ [] , TypeFamDecl SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 37+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 32 , srcInfoPoints = [ SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 5 , SrcSpan "tests/examples/TypeFunctions.hs" 5 6 5 12- , SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35 ] } (DHApp@@ -127,18 +126,18 @@ , srcInfoPoints = [] } "f")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 29 , srcInfoPoints = [ SrcSpan "tests/examples/TypeFunctions.hs" 5 25 5 27 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 24 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 28 5 29 , srcInfoPoints = []@@ -155,11 +154,18 @@ } "x"))) (Just- (KindStar+ (KindSig SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37- , srcInfoPoints = []- }))+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37+ , srcInfoPoints = []+ })))+ Nothing , TypeInsDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 1 7 27
tests/examples/TypeFunctions.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies, KindSignatures #-}-module Main (main) where data Id = Id
tests/examples/TypeInstances.hs.parser.golden view
@@ -75,9 +75,7 @@ SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 18 , srcInfoPoints =- [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7- , SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16- ]+ [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7 ] } (DHApp SrcSpanInfo@@ -107,91 +105,103 @@ } "v"))) (Just- (KindStar+ (KindSig SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18- , srcInfoPoints = []- }))+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18+ , srcInfoPoints = []+ })))+ Nothing , ClsTyDef SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 34 , srcInfoPoints = [ SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 7 , SrcSpan "tests/examples/TypeInstances.hs" 5 8 5 16- , SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24 ] }- (TyApp+ (TypeEqn SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24 ] }- (TyCon+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22 , srcInfoPoints = [] }- (UnQual+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20 , srcInfoPoints = [] }- "Key")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22- , srcInfoPoints = []- }- (Ident+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20+ , srcInfoPoints = []+ }+ "Key")))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22 , srcInfoPoints = [] }- "v")))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34- , srcInfoPoints = []- }- (TyCon+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "v")))+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34 , srcInfoPoints = [] }- (UnQual+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32 , srcInfoPoints = [] }- "TileKey")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34- , srcInfoPoints = []- }- (Ident+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32+ , srcInfoPoints = []+ }+ "TileKey")))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34 , srcInfoPoints = [] }- "v")))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34+ , srcInfoPoints = []+ }+ "v")))) , ClsTyFam SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 21 , srcInfoPoints =- [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7- , SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19- ]+ [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7 ] } (DHApp SrcSpanInfo@@ -221,11 +231,18 @@ } "v"))) (Just- (KindStar+ (KindSig SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21- , srcInfoPoints = []- }))+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21+ , srcInfoPoints = []+ })))+ Nothing ]) ] , []
tests/examples/TypeInstances.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeFamilies #-}-module Main (main) where class MapType v where type Key v :: *
tests/examples/TypeListCons.hs.parser.golden view
@@ -89,50 +89,38 @@ , srcInfoPoints = [] } "a")))- (TyApp+ (TyInfix SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 24 , srcInfoPoints = [] }- (TyApp+ (TyVar SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 20+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17 , srcInfoPoints = [] }- (TyVar+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 16 5 17- , srcInfoPoints = []- }- "a"))- (TyPromoted+ "a"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]+ }+ (Special SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20+ , srcInfoPoints = [] }- (PromotedCon+ (Cons SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 20- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 5 18 5 19 ]- }- True- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20- , srcInfoPoints = []- }- (Cons- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20- , srcInfoPoints = []- })))))+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 19 5 20+ , srcInfoPoints = []+ }))) (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 5 21 5 24@@ -202,50 +190,38 @@ , srcInfoPoints = [] } "b")))- (TyApp+ (TyInfix SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 26 , srcInfoPoints = [] }- (TyApp+ (TyVar SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 22+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19 , srcInfoPoints = [] }- (TyVar+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 18 6 19- , srcInfoPoints = []- }- "a"))- (TyPromoted+ "a"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]+ }+ (Special SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22+ , srcInfoPoints = [] }- (PromotedCon+ (Cons SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 22- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 6 20 6 21 ]- }- True- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22- , srcInfoPoints = []- }- (Cons- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22- , srcInfoPoints = []- })))))+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 21 6 22+ , srcInfoPoints = []+ }))) (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 6 23 6 26@@ -331,109 +307,75 @@ , srcInfoPoints = [] } "c")))- (TyApp+ (TyInfix SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 38 , srcInfoPoints = [] }- (TyApp+ (TyVar SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 34+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21 , srcInfoPoints = [] }- (TyApp+ (Ident SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 31+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21 , srcInfoPoints = [] }- (TyApp+ "a"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24+ , srcInfoPoints = []+ }+ (Cons SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 29+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24 , srcInfoPoints = []+ })))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26+ , srcInfoPoints = [] }- (TyApp+ "b"))+ (PromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29+ , srcInfoPoints = []+ }+ (Cons SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 26+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29 , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 24- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeListCons.hs" 7 20 7 21- , srcInfoPoints = []- }- "a"))- (TyPromoted- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]- }- (PromotedCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 24- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 22 7 23 ]- }- True- (Special- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24- , srcInfoPoints = []- }- (Cons- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeListCons.hs" 7 23 7 24- , srcInfoPoints = []- })))))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 25 7 26- , srcInfoPoints = []- }- "b")))- (TyPromoted- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]- }- (PromotedCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 29- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 27 7 28 ]- }- True- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29- , srcInfoPoints = []- }- (Cons- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeListCons.hs" 7 28 7 29- , srcInfoPoints = []- })))))+ })))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 38+ , srcInfoPoints = []+ } (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 31@@ -444,20 +386,13 @@ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 30 7 31 , srcInfoPoints = [] }- "c")))- (TyPromoted- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 34- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 33 ]- }- (PromotedCon+ "c"))+ (PromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 34 , srcInfoPoints = [ SrcSpan "tests/examples/TypeListCons.hs" 7 32 7 33 ] }- True (Special SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 33 7 34@@ -467,25 +402,25 @@ SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 33 7 34 , srcInfoPoints = []- })))))- (TyPromoted- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36- , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38- ]- }- (PromotedList- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36- , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38- ]- }- True- [])))+ })))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36+ , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeListCons.hs" 7 35 7 36+ , SrcSpan "tests/examples/TypeListCons.hs" 7 37 7 38+ ]+ }+ True+ []))))) ] , [] )
tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators #-}-module Main (main) where type T (~>) = ()
tests/examples/TypeOperatorsTest.hs.parser.golden view
@@ -79,54 +79,67 @@ , srcInfoPoints = [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22 , srcInfoPoints = [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14- , srcInfoPoints = []+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14- , srcInfoPoints = []+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- "ArrowXml"))- [ TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19- ]- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18- , srcInfoPoints = []- }- "~>"))- ])))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ "ArrowXml")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , srcInfoPoints = []+ }+ "~>"))))))) (TyInfix SrcSpanInfo { srcInfoSpan =@@ -146,19 +159,25 @@ , srcInfoPoints = [] } "a"))- (UnQual+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27 , srcInfoPoints = [] }- "~>"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 25 3 27+ , srcInfoPoints = []+ }+ "~>"))) (TyVar SrcSpanInfo { srcInfoSpan =
tests/examples/TypeOperatorsTest.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE TypeOperators, FlexibleContexts, FlexibleInstances #-}-module Main (main) where f :: ArrowXml (~>) => a ~> a f = undefined
tests/examples/UnboxedSingleton.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE UnboxedTuples #-}-module Main (main) where foo a = (# a #)
tests/examples/UnboxedTuples.hs.prettyprinter.golden view
@@ -1,7 +1,6 @@ {-# LANGUAGE UnboxedTuples #-}-module Main (main) where foo :: (a, b) -> (# b, a #) foo (a, b) = case (# b, a #) of- (# b, a #) -> (#,#) b a+ (# b, a #) -> (# , #) b a
tests/examples/Unicode.hs.parser.golden view
@@ -3748,62 +3748,80 @@ , SrcSpan "tests/examples/Unicode.hs" 74 28 74 29 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26 , srcInfoPoints = [] }- "Ord"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26- , srcInfoPoints = []- }- "a")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+ , srcInfoPoints = []+ }+ "a"))) ])) (TyFun SrcSpanInfo
tests/examples/Unicode2.hs.prettyprinter.golden view
@@ -1,3 +1,2 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where lengthOP n () = 0 n
tests/examples/UnicodeArrow.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where arrowTest :: String -> String arrowTest input
+ tests/examples/UnicodeIdents.hs view
@@ -0,0 +1,2 @@+猫 = ()+自乗 x = x * x
+ tests/examples/UnicodeIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.parser.golden view
@@ -0,0 +1,155 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ "\29483"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 4 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 3+ , srcInfoPoints = []+ }+ "\33258\20055")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 7 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "*")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@++ = ()+êW x = x * x
tests/examples/UnicodeRelation.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where import Prelude.Unicode testAnd :: Int -> Int -> Bool
tests/examples/UnicodeSubscript.hs.parser.golden view
@@ -187,51 +187,52 @@ "String"))) ]) ]- (Just- (Deriving- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 22- , srcInfoPoints =- [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 15 ]- }- [ IParen- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 22- , srcInfoPoints =- [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 17- , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 21 7 22- ]- }- (IRule- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21- , srcInfoPoints = []- }- Nothing- Nothing- (IHCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21- , srcInfoPoints = []- }- "Show"))))- ]))+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 7 7 15 ]+ }+ Nothing+ [ IParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 16 7 17+ , SrcSpan "tests/examples/UnicodeSubscript.hs" 7 21 7 22+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/UnicodeSubscript.hs" 7 17 7 21+ , srcInfoPoints = []+ }+ "Show"))))+ ]+ ] , TypeSig SrcSpanInfo { srcInfoSpan =
tests/examples/UnicodeSubscript.hs.prettyprinter.golden view
@@ -2,7 +2,7 @@ module Main where data Point = Point{pointX, pointY :: Double, name :: String}- deriving Show+ deriving (Show) distance :: Point -> Point -> Double distance x y
tests/examples/UnicodeSuperscript.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE UnicodeSyntax #-}-module Main (main) where dumy :: Double -> Double -> Double dumy a b
tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE MultiParamTypeClasses #-}-module Main (main) where f :: Int f = 4
tests/examples/Unpack.hs.parser.golden view
@@ -101,6 +101,8 @@ } "CmmEntry") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 55@@ -111,13 +113,17 @@ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 40 , srcInfoPoints = [] }- (UnpackedTy+ (BangedTy SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 37+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 36 4 37+ , srcInfoPoints = []+ })+ (Unpack+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 35 , srcInfoPoints = [ SrcSpan "tests/examples/Unpack.hs" 4 21 4 31 , SrcSpan "tests/examples/Unpack.hs" 4 32 4 35- , SrcSpan "tests/examples/Unpack.hs" 4 36 4 37 ] }) (TyCon@@ -185,7 +191,7 @@ } "x")))) ]- Nothing+ [] , DataDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 1 6 33@@ -231,13 +237,17 @@ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 33 , srcInfoPoints = [] }- (UnpackedTy+ (BangedTy SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 30+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 29 6 30+ , srcInfoPoints = []+ })+ (Unpack+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 28 , srcInfoPoints = [ SrcSpan "tests/examples/Unpack.hs" 6 14 6 24 , SrcSpan "tests/examples/Unpack.hs" 6 25 6 28- , SrcSpan "tests/examples/Unpack.hs" 6 29 6 30 ] }) (TyCon@@ -258,7 +268,7 @@ "Int"))) ]) ]- Nothing+ [] ] , [] )
tests/examples/Unpack.hs.prettyprinter.golden view
@@ -1,5 +1,4 @@ {-# LANGUAGE GADTs #-}-module Main (main) where data CmmNode e x where CmmEntry :: {-# UNPACK #-} !Int -> CmmNode e x
tests/examples/ViewPatterns.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@ {-# LANGUAGE ViewPatterns #-}-module Main (main) where f (id -> Just _) "" = "" g (id -> True) = False
+ tests/examples/Vta1.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,+ TypeFamilies, RankNTypes,+ FlexibleContexts #-}+-- tests about visible type application++module Vta1 where++quad :: a -> b -> c -> d -> (a, b, c, d)+quad = (,,,)++silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"++pairup_nosig x y = (x, y)++pairup_sig :: a -> b -> (a,b)+pairup_sig u w = (u, w)++answer_sig = pairup_sig @Bool @Int False 7 --+-- (False, 7) :: (Bool, Int)++answer_read = show (read @Int "3") -- "3" :: String+answer_show = show @Integer (read "5") -- "5" :: String+answer_showread = show @Int (read @Int "7") -- "7" :: String++intcons a = (:) @Int a++intpair x y = pairup_sig @Int x y++answer_pairup = pairup_sig @Int 5 True -- (5, True) :: (Int, Bool)+answer_intpair = intpair 1 "hello" -- (1, "hello") :: (Int, String)+answer_intcons = intcons 7 [] -- [7] :: [Int]++type family F a+type instance F Char = Bool++g :: F a -> a+g _ = undefined++f :: Char+f = g True++answer = g @Char False++mapSame :: forall b. (forall a. a -> a) -> [b] -> [b]+mapSame _ [] = []+mapSame fun (x:xs) = fun @b x : (mapSame @b fun xs)++pair :: forall a. a-> (forall b. b -> (a, b))+pair x y = (x, y)++b = pair @Int 3 @Bool True+c = mapSame id [1,2,3]+d = pair 3 @Bool True++pairnum :: forall a. Num a => forall b. b -> (a, b)+pairnum = pair 3++e = (pair 3 :: forall a. Num a => forall b. b -> (a, b)) @Int @Bool True+h = pairnum @Int @Bool True++data First (a :: * -> *) = F+data Proxy (a :: k) = P -- This expands to P (kind variable) (type variable)+data Three (a :: * -> k -> *) = T++foo :: Proxy a -> Int+foo _ = 0++first :: First a -> Int+first _ = 0++fTest = first F+fMaybe = first @Maybe F++test = foo P+bar = foo @Bool P -- should work++too :: Three a -> Int+too _ = 3++threeBase = too T+threeOk = too @Either T++blah = Nothing @Int++newtype N = MkN { unMkN :: forall a. Show a => a -> String }++n = MkN show++boo = unMkN n @Bool++boo2 :: forall (a :: * -> *) . Proxy a -> Bool+boo2 _ = False++base = boo2 P+bar'= boo2 @Maybe P -- should work
+ tests/examples/Vta1.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta1.hs.parser.golden view
@@ -0,0 +1,5436 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 96 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 1+ , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1+ , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1+ , SrcSpan "tests/examples/Vta1.hs" 8 1 8 1+ , SrcSpan "tests/examples/Vta1.hs" 9 1 9 1+ , SrcSpan "tests/examples/Vta1.hs" 11 1 11 1+ , SrcSpan "tests/examples/Vta1.hs" 13 1 13 1+ , SrcSpan "tests/examples/Vta1.hs" 15 1 15 1+ , SrcSpan "tests/examples/Vta1.hs" 16 1 16 1+ , SrcSpan "tests/examples/Vta1.hs" 18 1 18 1+ , SrcSpan "tests/examples/Vta1.hs" 21 1 21 1+ , SrcSpan "tests/examples/Vta1.hs" 22 1 22 1+ , SrcSpan "tests/examples/Vta1.hs" 23 1 23 1+ , SrcSpan "tests/examples/Vta1.hs" 25 1 25 1+ , SrcSpan "tests/examples/Vta1.hs" 27 1 27 1+ , SrcSpan "tests/examples/Vta1.hs" 29 1 29 1+ , SrcSpan "tests/examples/Vta1.hs" 30 1 30 1+ , SrcSpan "tests/examples/Vta1.hs" 31 1 31 1+ , SrcSpan "tests/examples/Vta1.hs" 33 1 33 1+ , SrcSpan "tests/examples/Vta1.hs" 34 1 34 1+ , SrcSpan "tests/examples/Vta1.hs" 36 1 36 1+ , SrcSpan "tests/examples/Vta1.hs" 37 1 37 1+ , SrcSpan "tests/examples/Vta1.hs" 39 1 39 1+ , SrcSpan "tests/examples/Vta1.hs" 40 1 40 1+ , SrcSpan "tests/examples/Vta1.hs" 42 1 42 1+ , SrcSpan "tests/examples/Vta1.hs" 44 1 44 1+ , SrcSpan "tests/examples/Vta1.hs" 45 1 45 1+ , SrcSpan "tests/examples/Vta1.hs" 46 1 46 1+ , SrcSpan "tests/examples/Vta1.hs" 48 1 48 1+ , SrcSpan "tests/examples/Vta1.hs" 49 1 49 1+ , SrcSpan "tests/examples/Vta1.hs" 51 1 51 1+ , SrcSpan "tests/examples/Vta1.hs" 52 1 52 1+ , SrcSpan "tests/examples/Vta1.hs" 53 1 53 1+ , SrcSpan "tests/examples/Vta1.hs" 55 1 55 1+ , SrcSpan "tests/examples/Vta1.hs" 56 1 56 1+ , SrcSpan "tests/examples/Vta1.hs" 58 1 58 1+ , SrcSpan "tests/examples/Vta1.hs" 59 1 59 1+ , SrcSpan "tests/examples/Vta1.hs" 61 1 61 1+ , SrcSpan "tests/examples/Vta1.hs" 62 1 62 1+ , SrcSpan "tests/examples/Vta1.hs" 63 1 63 1+ , SrcSpan "tests/examples/Vta1.hs" 65 1 65 1+ , SrcSpan "tests/examples/Vta1.hs" 66 1 66 1+ , SrcSpan "tests/examples/Vta1.hs" 68 1 68 1+ , SrcSpan "tests/examples/Vta1.hs" 69 1 69 1+ , SrcSpan "tests/examples/Vta1.hs" 71 1 71 1+ , SrcSpan "tests/examples/Vta1.hs" 72 1 72 1+ , SrcSpan "tests/examples/Vta1.hs" 74 1 74 1+ , SrcSpan "tests/examples/Vta1.hs" 75 1 75 1+ , SrcSpan "tests/examples/Vta1.hs" 77 1 77 1+ , SrcSpan "tests/examples/Vta1.hs" 78 1 78 1+ , SrcSpan "tests/examples/Vta1.hs" 80 1 80 1+ , SrcSpan "tests/examples/Vta1.hs" 81 1 81 1+ , SrcSpan "tests/examples/Vta1.hs" 83 1 83 1+ , SrcSpan "tests/examples/Vta1.hs" 85 1 85 1+ , SrcSpan "tests/examples/Vta1.hs" 87 1 87 1+ , SrcSpan "tests/examples/Vta1.hs" 89 1 89 1+ , SrcSpan "tests/examples/Vta1.hs" 91 1 91 1+ , SrcSpan "tests/examples/Vta1.hs" 92 1 92 1+ , SrcSpan "tests/examples/Vta1.hs" 94 1 94 1+ , SrcSpan "tests/examples/Vta1.hs" 95 1 95 1+ , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1+ , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 6 1 6 7+ , SrcSpan "tests/examples/Vta1.hs" 6 13 6 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 8 6 12+ , srcInfoPoints = []+ }+ "Vta1")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 3 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 13+ , SrcSpan "tests/examples/Vta1.hs" 1 30 1 31+ , SrcSpan "tests/examples/Vta1.hs" 1 51 1 52+ , SrcSpan "tests/examples/Vta1.hs" 1 62 1 63+ , SrcSpan "tests/examples/Vta1.hs" 2 26 2 27+ , SrcSpan "tests/examples/Vta1.hs" 2 38 2 39+ , SrcSpan "tests/examples/Vta1.hs" 3 31 3 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 32 1 51+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 53 1 62+ , srcInfoPoints = []+ }+ "PolyKinds"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 14 2 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 28 2 38+ , srcInfoPoints = []+ }+ "RankNTypes"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 3 14 3 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 6 8 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ "quad"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 11 8 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 16 8 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "b"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 21 8 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ "c"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 41+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 26 8 28 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25+ , srcInfoPoints = []+ }+ "d"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 29 8 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 8 29 8 30+ , SrcSpan "tests/examples/Vta1.hs" 8 31 8 32+ , SrcSpan "tests/examples/Vta1.hs" 8 34 8 35+ , SrcSpan "tests/examples/Vta1.hs" 8 37 8 38+ , SrcSpan "tests/examples/Vta1.hs" 8 40 8 41+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ "b")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37+ , srcInfoPoints = []+ }+ "c")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ "d")+ ])))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5+ , srcInfoPoints = []+ }+ "quad"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 6 9 13+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 9 6 9 7 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+ , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+ , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+ , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+ , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+ , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+ , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+ , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+ , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9+ , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10+ , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11+ , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12+ , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13+ ]+ }+ Boxed+ 4))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 50+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6+ , srcInfoPoints = []+ }+ "silly"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 7 11 50+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 7 11 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 38+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 33+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 9 11 13+ , srcInfoPoints = []+ }+ "quad")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 14 11 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 11 14 11 15 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 15 11 16+ , srcInfoPoints = []+ }+ Nothing)))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 17 11 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 11 17 11 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 18 11 22+ , srcInfoPoints = []+ }+ "Bool")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 23 11 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 11 23 11 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 11 24 11 28+ , srcInfoPoints = []+ }+ "Char")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 29 11 31+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 29 11 30 ]+ }+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 30 11 31+ , srcInfoPoints = []+ }+ Nothing)))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33+ , srcInfoPoints = []+ }+ 5+ "5")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38+ , srcInfoPoints = []+ }+ "True"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42+ , srcInfoPoints = []+ }+ (Char+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42+ , srcInfoPoints = []+ }+ 'a'+ "a")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50+ , srcInfoPoints = []+ }+ "Hello"+ "Hello"))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 13+ , srcInfoPoints = []+ }+ "pairup_nosig")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 18 13 26+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 13 18 13 19 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 20 13 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 13 20 13 21+ , SrcSpan "tests/examples/Vta1.hs" 13 22 13 23+ , SrcSpan "tests/examples/Vta1.hs" 13 25 13 26+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22+ , srcInfoPoints = []+ }+ "x"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25+ , srcInfoPoints = []+ }+ "y"))+ ]))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 12 15 14 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 11+ , srcInfoPoints = []+ }+ "pairup_sig"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 17 15 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 22 15 24 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 25 15 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 15 25 15 26+ , SrcSpan "tests/examples/Vta1.hs" 15 27 15 28+ , SrcSpan "tests/examples/Vta1.hs" 15 29 15 30+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29+ , srcInfoPoints = []+ }+ "b")+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 11+ , srcInfoPoints = []+ }+ "pairup_sig")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13+ , srcInfoPoints = []+ }+ "u")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "w")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 16 16 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 16 16 16 17 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 18 16 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 16 18 16 19+ , SrcSpan "tests/examples/Vta1.hs" 16 20 16 21+ , SrcSpan "tests/examples/Vta1.hs" 16 23 16 24+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20+ , srcInfoPoints = []+ }+ "u"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23+ , srcInfoPoints = []+ }+ "w"))+ ]))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 43+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11+ , srcInfoPoints = []+ }+ "answer_sig"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 12 18 43+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 12 18 13 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24+ , srcInfoPoints = []+ }+ "pairup_sig")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 25 18 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 25 18 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30+ , srcInfoPoints = []+ }+ "Bool")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 31 18 35+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 31 18 32 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35+ , srcInfoPoints = []+ }+ "Int")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41+ , srcInfoPoints = []+ }+ "False"))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43+ , srcInfoPoints = []+ }+ 7+ "7"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12+ , srcInfoPoints = []+ }+ "answer_read"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 13 21 35+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 13 21 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19+ , srcInfoPoints = []+ }+ "show")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 20 21 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 21 20 21 21+ , SrcSpan "tests/examples/Vta1.hs" 21 34 21 35+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25+ , srcInfoPoints = []+ }+ "read")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 26 21 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 26 21 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34+ , srcInfoPoints = []+ }+ "3"+ "3"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 39+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12+ , srcInfoPoints = []+ }+ "answer_show"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 13 22 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 13 22 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19+ , srcInfoPoints = []+ }+ "show")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 20 22 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 20 22 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28+ , srcInfoPoints = []+ }+ "Integer")))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 29 22 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 22 29 22 30+ , SrcSpan "tests/examples/Vta1.hs" 22 38 22 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34+ , srcInfoPoints = []+ }+ "read")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38+ , srcInfoPoints = []+ }+ "5"+ "5"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 44+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16+ , srcInfoPoints = []+ }+ "answer_showread"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 17 23 44+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 17 23 18 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23+ , srcInfoPoints = []+ }+ "show")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 24 23 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 24 23 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28+ , srcInfoPoints = []+ }+ "Int")))))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 29 23 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 23 29 23 30+ , SrcSpan "tests/examples/Vta1.hs" 23 43 23 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34+ , srcInfoPoints = []+ }+ "read")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 35 23 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 35 23 36 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43+ , srcInfoPoints = []+ }+ "7"+ "7"))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 8+ , srcInfoPoints = []+ }+ "intcons")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 11 25 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 11 25 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 21+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14+ , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+ , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14+ , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+ , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16+ ]+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 14 25 15+ , srcInfoPoints = []+ })))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 17 25 21+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 17 25 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21+ , srcInfoPoints = []+ }+ "Int")))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ]+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 8+ , srcInfoPoints = []+ }+ "intpair")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 13 27 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 13 27 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25+ , srcInfoPoints = []+ }+ "pairup_sig")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 26 27 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 26 27 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30+ , srcInfoPoints = []+ }+ "Int")))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34+ , srcInfoPoints = []+ }+ "y")))))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 39+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14+ , srcInfoPoints = []+ }+ "answer_pairup"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 15 29 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 15 29 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 34+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27+ , srcInfoPoints = []+ }+ "pairup_sig")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 28 29 32+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 28 29 29 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34+ , srcInfoPoints = []+ }+ 5+ "5")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15+ , srcInfoPoints = []+ }+ "answer_intpair"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 16 30 35+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 30 16 30 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 35+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25+ , srcInfoPoints = []+ }+ "intpair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27+ , srcInfoPoints = []+ }+ 1+ "1")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35+ , srcInfoPoints = []+ }+ "hello"+ "hello"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 30+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15+ , srcInfoPoints = []+ }+ "answer_intcons"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 16 31 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 31 16 31 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 30+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25+ , srcInfoPoints = []+ }+ "intcons")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27+ , srcInfoPoints = []+ }+ 7+ "7")))+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 28 31 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 31 28 31 29+ , SrcSpan "tests/examples/Vta1.hs" 31 29 31 30+ ]+ }+ [])))+ Nothing+ , TypeFamDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 1 33 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 33 1 33 5+ , SrcSpan "tests/examples/Vta1.hs" 33 6 33 12+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14+ , srcInfoPoints = []+ }+ "F"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ , TypeInsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 1 34 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 34 1 34 5+ , SrcSpan "tests/examples/Vta1.hs" 34 6 34 14+ , SrcSpan "tests/examples/Vta1.hs" 34 22 34 23+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16+ , srcInfoPoints = []+ }+ "F")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21+ , srcInfoPoints = []+ }+ "Char"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28+ , srcInfoPoints = []+ }+ "Bool")))+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 3 36 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 2+ , srcInfoPoints = []+ }+ "g"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 10 36 12 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 9+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ "F")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14+ , srcInfoPoints = []+ }+ "a")))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 2+ , srcInfoPoints = []+ }+ "g")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 3 37 4+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 5 37 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 37 5 37 6 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16+ , srcInfoPoints = []+ }+ "undefined"))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 10+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 39 3 39 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 2+ , srcInfoPoints = []+ }+ "f"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10+ , srcInfoPoints = []+ }+ "Char")))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 3 40 11+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 40 3 40 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 11+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6+ , srcInfoPoints = []+ }+ "g")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7+ , srcInfoPoints = []+ }+ "answer"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 8 42 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 8 42 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ "g")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 12 42 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 12 42 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17+ , srcInfoPoints = []+ }+ "Char")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23+ , srcInfoPoints = []+ }+ "False")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 54+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 9 44 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 8+ , srcInfoPoints = []+ }+ "mapSame"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 12 44 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 12 44 18+ , SrcSpan "tests/examples/Vta1.hs" 44 20 44 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 54+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 41 44 43 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 22 44 23+ , SrcSpan "tests/examples/Vta1.hs" 44 39 44 40+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 23 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 23 44 29+ , SrcSpan "tests/examples/Vta1.hs" 44 31 44 32+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 35 44 37 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 54+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 48 44 50 ]+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 44 44 45+ , SrcSpan "tests/examples/Vta1.hs" 44 46 44 47+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46+ , srcInfoPoints = []+ }+ "b")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 51 44 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 44 51 44 52+ , SrcSpan "tests/examples/Vta1.hs" 44 53 44 54+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53+ , srcInfoPoints = []+ }+ "b"))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 46 52+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 8+ , srcInfoPoints = []+ }+ "mapSame")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 9 45 10+ , srcInfoPoints = []+ }+ , PList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 11 45 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 45 11 45 12+ , SrcSpan "tests/examples/Vta1.hs" 45 12 45 13+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 14 45 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 45 14 45 15 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 16 45 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 45 16 45 17+ , SrcSpan "tests/examples/Vta1.hs" 45 17 45 18+ ]+ }+ []))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 8+ , srcInfoPoints = []+ }+ "mapSame")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12+ , srcInfoPoints = []+ }+ "fun")+ , PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 13 46 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 46 13 46 14+ , SrcSpan "tests/examples/Vta1.hs" 46 18 46 19+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18+ , srcInfoPoints = []+ }+ "xs")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 20 46 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 20 46 21 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 52+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 30+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25+ , srcInfoPoints = []+ }+ "fun")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 26 46 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 26 46 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28+ , srcInfoPoints = []+ }+ "b"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30+ , srcInfoPoints = []+ }+ "x"))))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32+ , srcInfoPoints = []+ })))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 33 46 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 46 33 46 34+ , SrcSpan "tests/examples/Vta1.hs" 46 51 46 52+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 44+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 46 34 46 41+ , srcInfoPoints = []+ }+ "mapSame")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 42 46 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 46 42 46 43 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 43 46 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 46 43 46 44+ , srcInfoPoints = []+ }+ "b"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48+ , srcInfoPoints = []+ }+ "fun"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51+ , srcInfoPoints = []+ }+ "xs")))))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 46+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 6 48 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 5+ , srcInfoPoints = []+ }+ "pair"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 9 48 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 9 48 15+ , SrcSpan "tests/examples/Vta1.hs" 48 17 48 18+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 46+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 20 48 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20+ , srcInfoPoints = []+ }+ "a"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 23 48 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 23 48 24+ , SrcSpan "tests/examples/Vta1.hs" 48 45 48 46+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 24 48 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 24 48 30+ , SrcSpan "tests/examples/Vta1.hs" 48 32 48 33+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 45+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 36 48 38 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 39 48 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 48 39 48 40+ , SrcSpan "tests/examples/Vta1.hs" 48 41 48 42+ , SrcSpan "tests/examples/Vta1.hs" 48 44 48 45+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44+ , srcInfoPoints = []+ }+ "b")+ ]))))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 5+ , srcInfoPoints = []+ }+ "pair")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 10 49 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 49 10 49 11 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 12 49 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 49 12 49 13+ , SrcSpan "tests/examples/Vta1.hs" 49 14 49 15+ , SrcSpan "tests/examples/Vta1.hs" 49 17 49 18+ ]+ }+ Boxed+ [ Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14+ , srcInfoPoints = []+ }+ "x"))+ , Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17+ , srcInfoPoints = []+ }+ "y"))+ ]))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2+ , srcInfoPoints = []+ }+ "b"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 3 51 27+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 3 51 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 16+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9+ , srcInfoPoints = []+ }+ "pair")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 10 51 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 10 51 11 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16+ , srcInfoPoints = []+ }+ 3+ "3")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 17 51 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 17 51 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 3 52 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 52 3 52 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 15+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12+ , srcInfoPoints = []+ }+ "mapSame")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15+ , srcInfoPoints = []+ }+ "id"))))+ (List+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 16 52 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 52 16 52 17+ , SrcSpan "tests/examples/Vta1.hs" 52 18 52 19+ , SrcSpan "tests/examples/Vta1.hs" 52 20 52 21+ , SrcSpan "tests/examples/Vta1.hs" 52 22 52 23+ ]+ }+ [ Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18+ , srcInfoPoints = []+ }+ 1+ "1")+ , Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20+ , srcInfoPoints = []+ }+ 2+ "2")+ , Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22+ , srcInfoPoints = []+ }+ 3+ "3")+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2+ , srcInfoPoints = []+ }+ "d"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 3 53 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 3 53 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 17+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 11+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9+ , srcInfoPoints = []+ }+ "pair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11+ , srcInfoPoints = []+ }+ 3+ "3")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 12 53 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 12 53 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 9 55 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 8+ , srcInfoPoints = []+ }+ "pairnum"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 12 55 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 55 12 55 18+ , SrcSpan "tests/examples/Vta1.hs" 55 20 55 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+ , srcInfoPoints = []+ }+ "a"))))))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 31 55 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 55 31 55 37+ , SrcSpan "tests/examples/Vta1.hs" 55 39 55 40+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 52+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 43 55 45 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 46 55 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 55 46 55 47+ , SrcSpan "tests/examples/Vta1.hs" 55 48 55 49+ , SrcSpan "tests/examples/Vta1.hs" 55 51 55 52+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51+ , srcInfoPoints = []+ }+ "b")+ ]))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8+ , srcInfoPoints = []+ }+ "pairnum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 9 56 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 56 9 56 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15+ , srcInfoPoints = []+ }+ "pair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17+ , srcInfoPoints = []+ }+ 3+ "3"))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 73+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2+ , srcInfoPoints = []+ }+ "e"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 3 58 73+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 3 58 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 73+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 62+ , srcInfoPoints = []+ }+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 5 58 6+ , SrcSpan "tests/examples/Vta1.hs" 58 56 58 57+ ]+ }+ (ExpTypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 56+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 13 58 15 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 6 58 10+ , srcInfoPoints = []+ }+ "pair")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12+ , srcInfoPoints = []+ }+ 3+ "3")))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 16 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 16 58 22+ , SrcSpan "tests/examples/Vta1.hs" 58 24 58 25+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 23 58 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 23 58 24+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Vta1.hs" 58 26 58 29+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+ , srcInfoPoints = []+ }+ "a"))))))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 35 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 35 58 41+ , SrcSpan "tests/examples/Vta1.hs" 58 43 58 44+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 42 58 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 42 58 43+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 45 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 47 58 49 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 45 58 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 45 58 46+ , srcInfoPoints = []+ }+ "b"))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 50 58 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 50 58 51+ , SrcSpan "tests/examples/Vta1.hs" 58 52 58 53+ , SrcSpan "tests/examples/Vta1.hs" 58 55 58 56+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 51 58 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 51 58 52+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 54 58 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 54 58 55+ , srcInfoPoints = []+ }+ "b")+ ]))))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 58 58 62+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 58 58 59 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62+ , srcInfoPoints = []+ }+ "Int")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 63 58 68+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 63 58 64 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2+ , srcInfoPoints = []+ }+ "h"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 3 59 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 3 59 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 28+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 23+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12+ , srcInfoPoints = []+ }+ "pairnum")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 13 59 17+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 13 59 14 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17+ , srcInfoPoints = []+ }+ "Int")))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 18 59 23+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 18 59 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28+ , srcInfoPoints = []+ }+ "True")))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 29+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 26 61 27 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 25+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11+ , srcInfoPoints = []+ }+ "First"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 12 61 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 61 12 61 13+ , SrcSpan "tests/examples/Vta1.hs" 61 15 61 17+ , SrcSpan "tests/examples/Vta1.hs" 61 24 61 25+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 13 61 14+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 20 61 22 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 19+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 23 61 24+ , srcInfoPoints = []+ }))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29+ , srcInfoPoints = []+ }+ "F")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 62 21 62 22 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11+ , srcInfoPoints = []+ }+ "Proxy"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 12 62 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 62 12 62 13+ , SrcSpan "tests/examples/Vta1.hs" 62 15 62 17+ , SrcSpan "tests/examples/Vta1.hs" 62 19 62 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 13 62 14+ , srcInfoPoints = []+ }+ "a")+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19+ , srcInfoPoints = []+ }+ "k"))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24+ , srcInfoPoints = []+ }+ "P")+ [])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 34+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 31 63 32 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 30+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11+ , srcInfoPoints = []+ }+ "Three"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 12 63 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 63 12 63 13+ , SrcSpan "tests/examples/Vta1.hs" 63 15 63 17+ , SrcSpan "tests/examples/Vta1.hs" 63 29 63 30+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 13 63 14+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 29+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 20 63 22 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 19+ , srcInfoPoints = []+ })+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 29+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 25 63 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 28 63 29+ , srcInfoPoints = []+ })))))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34+ , srcInfoPoints = []+ }+ "T")+ [])+ ]+ []+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 5 65 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 4+ , srcInfoPoints = []+ }+ "foo"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 16 65 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 4+ , srcInfoPoints = []+ }+ "foo")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 5 66 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 7 66 10+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 66 7 66 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 7 68 9 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 6+ , srcInfoPoints = []+ }+ "first"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 18 68 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15+ , srcInfoPoints = []+ }+ "First")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 6+ , srcInfoPoints = []+ }+ "first")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 7 69 8+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 9 69 12+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 69 9 69 10 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ 0+ "0")))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 16+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6+ , srcInfoPoints = []+ }+ "fTest"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 7 71 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 71 7 71 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14+ , srcInfoPoints = []+ }+ "first")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16+ , srcInfoPoints = []+ }+ "F")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7+ , srcInfoPoints = []+ }+ "fMaybe"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 8 72 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 8 72 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 24+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15+ , srcInfoPoints = []+ }+ "first")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 16 72 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 16 72 17 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ "F")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5+ , srcInfoPoints = []+ }+ "test"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 6 74 13+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 74 6 74 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11+ , srcInfoPoints = []+ }+ "foo")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 5 75 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 5 75 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 18+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10+ , srcInfoPoints = []+ }+ "foo")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 11 75 16+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 11 75 12 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16+ , srcInfoPoints = []+ }+ "Bool")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 5 77 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 4+ , srcInfoPoints = []+ }+ "too"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 16 77 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13+ , srcInfoPoints = []+ }+ "Three")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22+ , srcInfoPoints = []+ }+ "Int"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 4+ , srcInfoPoints = []+ }+ "too")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 5 78 6+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 7 78 10+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 78 7 78 8 ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10+ , srcInfoPoints = []+ }+ 3+ "3")))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10+ , srcInfoPoints = []+ }+ "threeBase"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 11 80 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 80 11 80 12 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16+ , srcInfoPoints = []+ }+ "too")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18+ , srcInfoPoints = []+ }+ "T")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 24+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8+ , srcInfoPoints = []+ }+ "threeOk"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 9 81 24+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 9 81 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 24+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 22+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14+ , srcInfoPoints = []+ }+ "too")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 15 81 22+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 15 81 16 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22+ , srcInfoPoints = []+ }+ "Either")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24+ , srcInfoPoints = []+ }+ "T")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5+ , srcInfoPoints = []+ }+ "blah"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 6 83 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 6 83 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15+ , srcInfoPoints = []+ }+ "Nothing")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 16 83 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 16 83 17 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20+ , srcInfoPoints = []+ }+ "Int"))))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 61+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 11 85 12 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10+ , srcInfoPoints = []+ }+ "N"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18+ , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18+ , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 16+ , srcInfoPoints = []+ }+ "MkN")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 59+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 25 85 27 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 24+ , srcInfoPoints = []+ }+ "unMkN"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 28 85 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 28 85 34+ , SrcSpan "tests/examples/Vta1.hs" 85 36 85 37+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36+ , srcInfoPoints = []+ }+ "a")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 59+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 50 85 52 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59+ , srcInfoPoints = []+ }+ "String")))))+ ])+ ]+ []+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2+ , srcInfoPoints = []+ }+ "n"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 3 87 13+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 87 3 87 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 13+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8+ , srcInfoPoints = []+ }+ "MkN")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13+ , srcInfoPoints = []+ }+ "show")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4+ , srcInfoPoints = []+ }+ "boo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 5 89 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 5 89 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 20+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12+ , srcInfoPoints = []+ }+ "unMkN")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14+ , srcInfoPoints = []+ }+ "n"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 15 89 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 15 89 16 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20+ , srcInfoPoints = []+ }+ "Bool"))))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 47+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 6 91 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 5+ , srcInfoPoints = []+ }+ "boo2"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 9 91 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 91 9 91 15+ , SrcSpan "tests/examples/Vta1.hs" 91 30 91 31+ ]+ }+ (Just+ [ KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 16 91 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 91 16 91 17+ , SrcSpan "tests/examples/Vta1.hs" 91 19 91 21+ , SrcSpan "tests/examples/Vta1.hs" 91 28 91 29+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 28+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 24 91 26 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 23+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 27 91 28+ , srcInfoPoints = []+ }))+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 47+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 40 91 42 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47+ , srcInfoPoints = []+ }+ "Bool")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 5+ , srcInfoPoints = []+ }+ "boo2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 6 92 7+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 8 92 15+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 92 8 92 9 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15+ , srcInfoPoints = []+ }+ "False"))))+ Nothing+ ]+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5+ , srcInfoPoints = []+ }+ "base"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 6 94 14+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 94 6 94 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12+ , srcInfoPoints = []+ }+ "boo2")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5+ , srcInfoPoints = []+ }+ "bar'"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 5 95 20+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 5 95 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 20+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11+ , srcInfoPoints = []+ }+ "boo2")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 12 95 18+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 12 95 13 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20+ , srcInfoPoints = []+ }+ "P")))))+ Nothing+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 4 1 4 40)+ " tests about visible type application"+ , Comment False (SrcSpan "tests/examples/Vta1.hs" 18 44 18 46) ""+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 19 1 19 29)+ " (False, 7) :: (Bool, Int)"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 21 36 21 52)+ " \"3\" :: String"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 22 40 22 56)+ " \"5\" :: String"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 23 45 23 61)+ " \"7\" :: String"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 29 40 29 67)+ " (5, True) :: (Int, Bool)"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 30 36 30 68)+ " (1, \"hello\") :: (Int, String)"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 31 36 31 51)+ " [7] :: [Int]"+ , Comment+ False+ (SrcSpan "tests/examples/Vta1.hs" 62 25 62 77)+ " This expands to P (kind variable) (type variable)"+ , Comment+ False (SrcSpan "tests/examples/Vta1.hs" 75 19 75 33) " should work"+ , Comment+ False (SrcSpan "tests/examples/Vta1.hs" 95 21 95 35) " should work"+ ]+ )
+ tests/examples/Vta1.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta1.hs.prettyprinter.golden view
@@ -0,0 +1,79 @@+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,+ TypeFamilies, RankNTypes, FlexibleContexts #-}+module Vta1 where++quad :: a -> b -> c -> d -> (a, b, c, d)+quad = (,,,)+silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"+pairup_nosig x y = (x, y)++pairup_sig :: a -> b -> (a, b)+pairup_sig u w = (u, w)+answer_sig = pairup_sig @Bool @Int False 7+answer_read = show (read @Int "3")+answer_show = show @Integer (read "5")+answer_showread = show @Int (read @Int "7")+intcons a = (:) @Int a+intpair x y = pairup_sig @Int x y+answer_pairup = pairup_sig @Int 5 True+answer_intpair = intpair 1 "hello"+answer_intcons = intcons 7 []++type family F a++type instance F Char = Bool++g :: F a -> a+g _ = undefined++f :: Char+f = g True+answer = g @Char False++mapSame :: forall b . (forall a . a -> a) -> [b] -> [b]+mapSame _ [] = []+mapSame fun (x : xs) = fun @b x : (mapSame @b fun xs)++pair :: forall a . a -> (forall b . b -> (a, b))+pair x y = (x, y)+b = pair @Int 3 @Bool True+c = mapSame id [1, 2, 3]+d = pair 3 @Bool True++pairnum :: forall a . Num a => forall b . b -> (a, b)+pairnum = pair 3+e = (pair 3 :: forall a . Num a => forall b . b -> (a, b)) @Int+ @Bool+ True+h = pairnum @Int @Bool True++data First (a :: * -> *) = F++data Proxy (a :: k) = P++data Three (a :: * -> k -> *) = T++foo :: Proxy a -> Int+foo _ = 0++first :: First a -> Int+first _ = 0+fTest = first F+fMaybe = first @Maybe F+test = foo P+bar = foo @Bool P++too :: Three a -> Int+too _ = 3+threeBase = too T+threeOk = too @Either T+blah = Nothing @Int++newtype N = MkN{unMkN :: forall a . Show a => a -> String}+n = MkN show+boo = unMkN n @Bool++boo2 :: forall (a :: * -> *) . Proxy a -> Bool+boo2 _ = False+base = boo2 P+bar' = boo2 @Maybe P
+ tests/examples/Vta2.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE RankNTypes, TypeApplications #-}+++module Vta2 where++checkIf :: Bool -> (forall a. a -> a) -> (Bool, Int)+checkIf _ = if True+ then \f -> (f True, f 5)+ else \f -> (f False, f @Int 3)++checkCase :: Bool -> (forall a. a -> a) -> (Bool, Int)+checkCase _ = case True of+ True -> \f -> (f True, f 5)+ False -> \f -> (f False, f @Int 3)
+ tests/examples/Vta2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta2.hs.parser.golden view
@@ -0,0 +1,992 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 15 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 1+ , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1+ , SrcSpan "tests/examples/Vta2.hs" 6 1 6 1+ , SrcSpan "tests/examples/Vta2.hs" 7 1 7 1+ , SrcSpan "tests/examples/Vta2.hs" 11 1 11 1+ , SrcSpan "tests/examples/Vta2.hs" 12 1 12 1+ , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1+ , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 1 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 4 1 4 7+ , SrcSpan "tests/examples/Vta2.hs" 4 13 4 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 8 4 12+ , srcInfoPoints = []+ }+ "Vta2")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 1 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 13+ , SrcSpan "tests/examples/Vta2.hs" 1 24 1 25+ , SrcSpan "tests/examples/Vta2.hs" 1 43 1 46+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ , Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 26 1 42+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 9 6 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 8+ , srcInfoPoints = []+ }+ "checkIf"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 17 6 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 53+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 39 6 41 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 6 20 6 21+ , SrcSpan "tests/examples/Vta2.hs" 6 37 6 38+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 21 6 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 6 21 6 27+ , SrcSpan "tests/examples/Vta2.hs" 6 29 6 30+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 37+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 33 6 35 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37+ , srcInfoPoints = []+ }+ "a")))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 42 6 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 6 42 6 43+ , SrcSpan "tests/examples/Vta2.hs" 6 47 6 48+ , SrcSpan "tests/examples/Vta2.hs" 6 52 6 53+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52+ , srcInfoPoints = []+ }+ "Int"))+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 7 8+ , srcInfoPoints = []+ }+ "checkIf")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 9 7 10+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 11 9 43+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 7 11 7 12 ]+ }+ (If+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 13 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 7 13 7 15+ , SrcSpan "tests/examples/Vta2.hs" 8 13 8 17+ , SrcSpan "tests/examples/Vta2.hs" 9 13 9 17+ ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20+ , srcInfoPoints = []+ }+ "True")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 18 8 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 8 18 8 19+ , SrcSpan "tests/examples/Vta2.hs" 8 21 8 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 24 8 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 8 24 8 25+ , SrcSpan "tests/examples/Vta2.hs" 8 31 8 32+ , SrcSpan "tests/examples/Vta2.hs" 8 36 8 37+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 31+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31+ , srcInfoPoints = []+ }+ "True")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34+ , srcInfoPoints = []+ }+ "f")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36+ , srcInfoPoints = []+ }+ 5+ "5"))+ ]))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 18 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 9 18 9 19+ , SrcSpan "tests/examples/Vta2.hs" 9 21 9 23+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 24 9 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 9 24 9 25+ , SrcSpan "tests/examples/Vta2.hs" 9 32 9 33+ , SrcSpan "tests/examples/Vta2.hs" 9 42 9 43+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32+ , srcInfoPoints = []+ }+ "False")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 42+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 9 34 9 35+ , srcInfoPoints = []+ }+ "f")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 36 9 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 9 36 9 37 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 9 37 9 40+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42+ , srcInfoPoints = []+ }+ 3+ "3"))+ ]))))+ Nothing+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 11 11 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 10+ , srcInfoPoints = []+ }+ "checkCase"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 19 11 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18+ , srcInfoPoints = []+ }+ "Bool")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 55+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 41 11 43 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 11 22 11 23+ , SrcSpan "tests/examples/Vta2.hs" 11 39 11 40+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 23 11 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 11 23 11 29+ , SrcSpan "tests/examples/Vta2.hs" 11 31 11 32+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 39+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 35 11 37 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39+ , srcInfoPoints = []+ }+ "a")))))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 44 11 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 11 44 11 45+ , SrcSpan "tests/examples/Vta2.hs" 11 49 11 50+ , SrcSpan "tests/examples/Vta2.hs" 11 54 11 55+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49+ , srcInfoPoints = []+ }+ "Bool"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54+ , srcInfoPoints = []+ }+ "Int"))+ ])))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 12 10+ , srcInfoPoints = []+ }+ "checkCase")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 11 12 12+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 13 14 51+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 12 13 12 14 ]+ }+ (Case+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 15 14 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 12 15 12 19+ , SrcSpan "tests/examples/Vta2.hs" 12 25 12 27+ , SrcSpan "tests/examples/Vta2.hs" 13 17 13 17+ , SrcSpan "tests/examples/Vta2.hs" 14 17 14 17+ , SrcSpan "tests/examples/Vta2.hs" 15 1 15 0+ ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24+ , srcInfoPoints = []+ }+ "True")))+ [ Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 44+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21+ , srcInfoPoints = []+ }+ "True"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 22 13 44+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 13 22 13 24 ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 25 13 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 13 25 13 26+ , SrcSpan "tests/examples/Vta2.hs" 13 28 13 30+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 31 13 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 13 31 13 32+ , SrcSpan "tests/examples/Vta2.hs" 13 38 13 39+ , SrcSpan "tests/examples/Vta2.hs" 13 43 13 44+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 32 13 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 32 13 33+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 34 13 38+ , srcInfoPoints = []+ }+ "True")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 40 13 43+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 40 13 41+ , srcInfoPoints = []+ }+ "f")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 42 13 43+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 13 42 13 43+ , srcInfoPoints = []+ }+ 5+ "5"))+ ])))+ Nothing+ , Alt+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 51+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22+ , srcInfoPoints = []+ }+ "False"))+ [])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 23 14 51+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 14 23 14 25 ]+ }+ (Lambda+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 26 14 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 14 26 14 27+ , SrcSpan "tests/examples/Vta2.hs" 14 29 14 31+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ "f")+ ]+ (Tuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 32 14 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 14 32 14 33+ , SrcSpan "tests/examples/Vta2.hs" 14 40 14 41+ , SrcSpan "tests/examples/Vta2.hs" 14 50 14 51+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 33 14 40+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 33 14 34+ , srcInfoPoints = []+ }+ "f")))+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 35 14 40+ , srcInfoPoints = []+ }+ "False")))+ , App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 42 14 50+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 48+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 42 14 43+ , srcInfoPoints = []+ }+ "f")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 44 14 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta2.hs" 14 44 14 45 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 45 14 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 45 14 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Vta2.hs" 14 45 14 48+ , srcInfoPoints = []+ }+ "Int")))))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 49 14 50+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta2.hs" 14 49 14 50+ , srcInfoPoints = []+ }+ 3+ "3"))+ ])))+ Nothing+ ]))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/Vta2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/Vta2.hs.prettyprinter.golden view
@@ -0,0 +1,12 @@+{-# LANGUAGE RankNTypes, TypeApplications #-}+module Vta2 where++checkIf :: Bool -> (forall a . a -> a) -> (Bool, Int)+checkIf _+ = if True then \ f -> (f True, f 5) else \ f -> (f False, f @Int 3)++checkCase :: Bool -> (forall a . a -> a) -> (Bool, Int)+checkCase _+ = case True of+ True -> \ f -> (f True, f 5)+ False -> \ f -> (f False, f @Int 3)
tests/examples/WhereBlock.hs.prettyprinter.golden view
@@ -1,4 +1,3 @@-module Main (main) where hash ptr len = f len where f h = return h f p = (p `advancePtr` 1)
+ tests/examples/WildcardTyFam.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++type family Foo a where+ Foo _ = Int
+ tests/examples/WildcardTyFam.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/WildcardTyFam.hs.parser.golden view
@@ -0,0 +1,122 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1+ , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 13+ , SrcSpan "tests/examples/WildcardTyFam.hs" 1 27 1 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 14 1 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ ]+ []+ [ ClosedTypeFamDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 5+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 6 3 12+ , SrcSpan "tests/examples/WildcardTyFam.hs" 3 19 3 24+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18+ , srcInfoPoints = []+ }+ "a")))+ Nothing+ Nothing+ [ TypeEqn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/WildcardTyFam.hs" 4 9 4 10 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 8+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6+ , srcInfoPoints = []+ }+ "Foo")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 7 4 8+ , srcInfoPoints = []+ }+ Nothing))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14+ , srcInfoPoints = []+ }+ "Int")))+ ]+ ]+ , []+ )
+ tests/examples/WildcardTyFam.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/WildcardTyFam.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeFamilies #-}++type family Foo a where+ Foo _ = Int
+ tests/examples/brackets.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE Arrows #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE UnicodeSyntax #-}++-- See Trac #10162 and #11743 for details++module ShouldCompile where++import Control.Arrow+import Language.Haskell.TH++handle :: ArrowPlus a => a (b,s) c -> a (b,(String,s)) c -> a (b,s) c+handle f h = proc (b,s) -> (f -< (b,s)) <+> (h -< (b,("FAIL",s)))++f :: ArrowPlus a => a (Int,Int) String+f = proc (x,y) ->+ ⦇handle+ (returnA -< show y)+ (\s -> returnA -< s ++ show x)+ ⦈++g :: ArrowPlus a => a (Int,Int) String+g = proc (x,y) ->+ ⦇handle+ (\msg -> returnA -< msg ++ show y)+ (\s msg -> returnA -< s ++ show x)+ ⦈ ("hello " ++ show x)++h :: ArrowPlus a => a (Int,Int) Int+h = proc (x,y) ->+ (+ (\z -> returnA -< x + z)+ <+>+ (\z -> returnA -< y + z)+ ) (x*y)+++matches :: PatQ -> ExpQ+matches pat = ⟦\x ->+ case x of+ $pat -> True+ _ -> False+ ⟧+
+ tests/examples/brackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.parser.golden view
@@ -0,0 +1,2 @@+ParseFailed+ (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/brackets.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/brackets.hs" 17 3) "Parse error: \10631"
+ tests/examples/completesig01.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -Wall #-}+module Simple where++pattern Foo :: ()+pattern Foo = ()++a :: () -> ()+a Foo = ()++data A = B | C | D++{-# COMPLETE Foo #-}+{-# COMPLETE B,C #-}+{-# COMPLETE B #-}++b :: A -> A+b B = B+b C = C++{-# COMPLETE Foo :: () #-}+
+ tests/examples/completesig01.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/completesig01.hs.parser.golden view
@@ -0,0 +1,681 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 1 24 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 1 1 1 1+ , SrcSpan "tests/examples/completesig01.hs" 2 1 2 1+ , SrcSpan "tests/examples/completesig01.hs" 3 1 3 1+ , SrcSpan "tests/examples/completesig01.hs" 4 1 4 1+ , SrcSpan "tests/examples/completesig01.hs" 4 1 4 1+ , SrcSpan "tests/examples/completesig01.hs" 6 1 6 1+ , SrcSpan "tests/examples/completesig01.hs" 7 1 7 1+ , SrcSpan "tests/examples/completesig01.hs" 9 1 9 1+ , SrcSpan "tests/examples/completesig01.hs" 10 1 10 1+ , SrcSpan "tests/examples/completesig01.hs" 12 1 12 1+ , SrcSpan "tests/examples/completesig01.hs" 14 1 14 1+ , SrcSpan "tests/examples/completesig01.hs" 15 1 15 1+ , SrcSpan "tests/examples/completesig01.hs" 16 1 16 1+ , SrcSpan "tests/examples/completesig01.hs" 18 1 18 1+ , SrcSpan "tests/examples/completesig01.hs" 19 1 19 1+ , SrcSpan "tests/examples/completesig01.hs" 20 1 20 1+ , SrcSpan "tests/examples/completesig01.hs" 22 1 22 1+ , SrcSpan "tests/examples/completesig01.hs" 24 1 24 1+ , SrcSpan "tests/examples/completesig01.hs" 24 1 24 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 4 1 4 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 4 1 4 7+ , SrcSpan "tests/examples/completesig01.hs" 4 15 4 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 4 8 4 14+ , srcInfoPoints = []+ }+ "Simple")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 1 1 1 13+ , SrcSpan "tests/examples/completesig01.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 2 1 2 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 2 1 2 13+ , SrcSpan "tests/examples/completesig01.hs" 2 32 2 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 2 14 2 31+ , srcInfoPoints = []+ }+ "NoImplicitPrelude"+ ]+ , OptionsPragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 3 1 3 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 3 1 3 23+ , SrcSpan "tests/examples/completesig01.hs" 3 23 3 26+ ]+ }+ (Just GHC)+ "-Wall "+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 1 6 8+ , SrcSpan "tests/examples/completesig01.hs" 6 13 6 15+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 9 6 12+ , srcInfoPoints = []+ }+ "Foo"+ ]+ Nothing+ Nothing+ Nothing+ Nothing+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+ , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+ , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 6 16 6 17+ , SrcSpan "tests/examples/completesig01.hs" 6 17 6 18+ ]+ })))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 1 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 1 7 8+ , SrcSpan "tests/examples/completesig01.hs" 7 13 7 14+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 9 7 12+ , srcInfoPoints = []+ }+ "Foo"))+ [])+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+ , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+ , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 7 15 7 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 7 15 7 16+ , SrcSpan "tests/examples/completesig01.hs" 7 16 7 17+ ]+ }))+ [])+ ImplicitBidirectional+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 1 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 3 9 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 1 9 2+ , srcInfoPoints = []+ }+ "a"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 9 9 11 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+ , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+ , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 6 9 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 6 9 7+ , SrcSpan "tests/examples/completesig01.hs" 9 7 9 8+ ]+ })))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+ , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+ , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 9 12 9 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 9 12 9 13+ , SrcSpan "tests/examples/completesig01.hs" 9 13 9 14+ ]+ }))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 1 10 11+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 1 10 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 1 10 2+ , srcInfoPoints = []+ }+ "a")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 10 3 10 6+ , srcInfoPoints = []+ }+ "Foo"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 7 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 7 10 8 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+ , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+ , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 10 9 10 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 10 9 10 10+ , SrcSpan "tests/examples/completesig01.hs" 10 10 10 11+ ]+ }))))+ Nothing+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 1 12 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 12 8 12 9+ , SrcSpan "tests/examples/completesig01.hs" 12 12 12 13+ , SrcSpan "tests/examples/completesig01.hs" 12 16 12 17+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 1 12 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 12 6 12 7+ , srcInfoPoints = []+ }+ "A"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 10 12 11+ , srcInfoPoints = []+ }+ "B")+ [])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 14 12 15+ , srcInfoPoints = []+ }+ "C")+ [])+ , QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ "D")+ [])+ ]+ []+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 14 1 14 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 14 1 14 13+ , SrcSpan "tests/examples/completesig01.hs" 14 18 14 21+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 14 14 14 17+ , srcInfoPoints = []+ }+ "Foo"+ ]+ Nothing+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 15 1 15 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 15 1 15 13+ , SrcSpan "tests/examples/completesig01.hs" 15 15 15 16+ , SrcSpan "tests/examples/completesig01.hs" 15 18 15 21+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 15 14 15 15+ , srcInfoPoints = []+ }+ "B"+ , Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 15 16 15 17+ , srcInfoPoints = []+ }+ "C"+ ]+ Nothing+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 16 1 16 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 16 1 16 13+ , SrcSpan "tests/examples/completesig01.hs" 16 16 16 19+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "B"+ ]+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 1 18 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 18 3 18 5 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 1 18 2+ , srcInfoPoints = []+ }+ "b"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 6 18 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 18 8 18 10 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 18 6 18 7+ , srcInfoPoints = []+ }+ "A")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 18 11 18 12+ , srcInfoPoints = []+ }+ "A"))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 20 8+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 19 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 1 19 2+ , srcInfoPoints = []+ }+ "b")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 3 19 4+ , srcInfoPoints = []+ }+ "B"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 5 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 19 5 19 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 19 7 19 8+ , srcInfoPoints = []+ }+ "B"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 1 20 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 1 20 2+ , srcInfoPoints = []+ }+ "b")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 3 20 4+ , srcInfoPoints = []+ }+ "C"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 5 20 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 20 5 20 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 20 7 20 8+ , srcInfoPoints = []+ }+ "C"))))+ Nothing+ ]+ , CompletePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 1 22 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 22 1 22 13+ , SrcSpan "tests/examples/completesig01.hs" 22 18 22 20+ , SrcSpan "tests/examples/completesig01.hs" 22 24 22 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 14 22 17+ , srcInfoPoints = []+ }+ "Foo"+ ]+ (Just+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 21 22 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 22 21 22 22+ , SrcSpan "tests/examples/completesig01.hs" 22 22 22 23+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/completesig01.hs" 22 21 22 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/completesig01.hs" 22 21 22 22+ , SrcSpan "tests/examples/completesig01.hs" 22 22 22 23+ ]+ })))+ ]+ , []+ )
+ tests/examples/completesig01.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/completesig01.hs.prettyprinter.golden view
@@ -0,0 +1,27 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -Wall #-}+module Simple where++pattern Foo :: ()++pattern Foo = ()++a :: () -> ()+a Foo = ()++data A = B+ | C+ | D++{-# COMPLETE Foo #-}++{-# COMPLETE B, C #-}++{-# COMPLETE B #-}++b :: A -> A+b B = B+b C = C++{-# COMPLETE Foo :: () #-}
+ tests/examples/t403.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k. ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t403.hs.exactprinter.golden view
@@ -0,0 +1,10 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern ((:&&:))xrest <- (matchNext -> Right (x, Refl, rest))+
+ tests/examples/t403.hs.parser.golden view
@@ -0,0 +1,520 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 1 1 1 1+ , SrcSpan "tests/examples/t403.hs" 2 1 2 1+ , SrcSpan "tests/examples/t403.hs" 3 1 3 1+ , SrcSpan "tests/examples/t403.hs" 4 1 4 1+ , SrcSpan "tests/examples/t403.hs" 5 1 5 1+ , SrcSpan "tests/examples/t403.hs" 6 1 6 1+ , SrcSpan "tests/examples/t403.hs" 6 1 6 1+ , SrcSpan "tests/examples/t403.hs" 8 1 8 1+ , SrcSpan "tests/examples/t403.hs" 9 1 9 1+ , SrcSpan "tests/examples/t403.hs" 10 1 10 1+ , SrcSpan "tests/examples/t403.hs" 10 1 10 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 6 1 6 7+ , SrcSpan "tests/examples/t403.hs" 6 13 6 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 8 6 12+ , srcInfoPoints = []+ }+ "T403")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 1 1 1 13+ , SrcSpan "tests/examples/t403.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 2 1 2 13+ , SrcSpan "tests/examples/t403.hs" 2 25 2 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 14 2 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 1 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 3 1 3 13+ , SrcSpan "tests/examples/t403.hs" 3 27 3 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 14 3 26+ , srcInfoPoints = []+ }+ "ViewPatterns"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 1 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 4 1 4 13+ , SrcSpan "tests/examples/t403.hs" 4 28 4 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 14 4 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 1 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 5 1 5 13+ , SrcSpan "tests/examples/t403.hs" 5 24 5 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 14 5 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 1 8 86+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 1 8 8+ , SrcSpan "tests/examples/t403.hs" 8 16 8 18+ ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 9 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 9 8 10+ , SrcSpan "tests/examples/t403.hs" 8 10 8 14+ , SrcSpan "tests/examples/t403.hs" 8 14 8 15+ ]+ }+ ":&&:"+ ]+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 19 8 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 19 8 20+ , SrcSpan "tests/examples/t403.hs" 8 20 8 21+ , SrcSpan "tests/examples/t403.hs" 8 22 8 24+ ]+ }))+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+ , srcInfoPoints = []+ }+ "k")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+ , SrcSpan "tests/examples/t403.hs" 8 48 8 49+ , SrcSpan "tests/examples/t403.hs" 8 50 8 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+ , SrcSpan "tests/examples/t403.hs" 8 48 8 49+ , SrcSpan "tests/examples/t403.hs" 8 50 8 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 36 8 37+ , SrcSpan "tests/examples/t403.hs" 8 43 8 44+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ "k"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ ":+")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ "n")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 86+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 55 8 57 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 86+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 71 8 73 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 70+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ "HoHeList")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 86+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 84+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ "HoHeList")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ "n")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+ , srcInfoPoints = []+ }+ "a")))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 1 9 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 1 9 8+ , SrcSpan "tests/examples/t403.hs" 9 23 9 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+ , SrcSpan "tests/examples/t403.hs" 9 10 9 14+ , SrcSpan "tests/examples/t403.hs" 9 14 9 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+ , SrcSpan "tests/examples/t403.hs" 9 10 9 14+ , SrcSpan "tests/examples/t403.hs" 9 14 9 15+ ]+ }+ ":&&:"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ "rest")+ ])+ (PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 26 9 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 26 9 27+ , SrcSpan "tests/examples/t403.hs" 9 61 9 62+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 61+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 9 37 9 39 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ "matchNext")))+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+ , srcInfoPoints = []+ }+ "Right"))+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 46 9 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 46 9 47+ , SrcSpan "tests/examples/t403.hs" 9 48 9 49+ , SrcSpan "tests/examples/t403.hs" 9 54 9 55+ , SrcSpan "tests/examples/t403.hs" 9 60 9 61+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+ , srcInfoPoints = []+ }+ "x")+ , PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ "Refl"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+ , srcInfoPoints = []+ }+ "rest")+ ]+ ])))+ Unidirectional+ ]+ , []+ )
+ tests/examples/t403.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t403.hs.prettyprinter.golden view
@@ -0,0 +1,11 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k . ((k :+ 1) ~ n) =>+ a -> HoHeList k a -> HoHeList n a++pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t412.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeInType #-}++module Typeintype+ ( App ) where++import Data.Kind++data App (f :: k -> *)
+ tests/examples/t412.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.parser.golden view
@@ -0,0 +1,166 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 1 1 1 1+ , SrcSpan "tests/examples/t412.hs" 3 1 3 1+ , SrcSpan "tests/examples/t412.hs" 3 1 3 1+ , SrcSpan "tests/examples/t412.hs" 6 1 6 1+ , SrcSpan "tests/examples/t412.hs" 8 1 8 1+ , SrcSpan "tests/examples/t412.hs" 9 1 9 1+ , SrcSpan "tests/examples/t412.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 3 1 3 7+ , SrcSpan "tests/examples/t412.hs" 4 16 4 21+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ "Typeintype")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 8 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 4 8 4 9+ , SrcSpan "tests/examples/t412.hs" 4 14 4 15+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ (NoNamespace+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ "App"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 1 1 1 13+ , SrcSpan "tests/examples/t412.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "TypeInType"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 1 6 17+ , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 6 1 6 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 8 6 17+ , srcInfoPoints = []+ }+ "Data.Kind"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "App"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 10 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 8 10 8 11+ , SrcSpan "tests/examples/t412.hs" 8 13 8 15+ , SrcSpan "tests/examples/t412.hs" 8 22 8 23+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 11 8 12+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 22+ , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 8 18 8 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 21 8 22+ , srcInfoPoints = []+ }))))+ []+ []+ ]+ , []+ )
+ tests/examples/t412.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeInType #-}+module Typeintype (App) where+import Data.Kind++data App (f :: k -> *)