{-# OPTIONS_GHC -w #-} {-# OPTIONS -fglasgow-exts -cpp #-} {-# LANGUAGE TupleSections #-} {-| The parser is generated by Happy (). - - Ideally, ranges should be as precise as possible, to get messages that - emphasize precisely the faulting term(s) upon error. - - However, interactive highlighting is only applied at the end of each - mutual block, keywords are only highlighted once (see - `TypeChecking.Rules.Decl'). So if the ranges of two declarations - interleave, one must ensure that keyword ranges are not included in - the intersection. (Otherwise they are uncolored by the interactive - highlighting.) - -} module Agda.Syntax.Parser.Parser ( moduleParser , exprParser , tokensParser , tests ) where import Control.Monad import Data.Char import Data.Functor import Data.List import Data.Maybe import qualified Data.Traversable as T import Agda.Syntax.Position hiding (tests) import Agda.Syntax.Parser.Monad import Agda.Syntax.Parser.Lexer import Agda.Syntax.Parser.Tokens import Agda.Syntax.Concrete as C import Agda.Syntax.Concrete.Pretty () import Agda.Syntax.Common hiding (Arg, Dom, NamedArg) import qualified Agda.Syntax.Common as Common import Agda.Syntax.Fixity import Agda.Syntax.Notation import Agda.Syntax.Literal import Agda.Utils.Hash import Agda.Utils.List (spanJust) import Agda.Utils.Monad import Agda.Utils.QuickCheck import Agda.Utils.Singleton import Agda.Utils.TestHelpers import Agda.Utils.Tuple 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 t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74 = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 type HappyAny = Happy_GHC_Exts.Any #else type HappyAny = forall a . a #endif happyIn6 :: ([Token]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn6 #-} happyOut6 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Token]) happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut6 #-} happyIn7 :: ([Token]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn7 #-} happyOut7 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Token]) happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut7 #-} happyIn8 :: (Token) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn8 #-} happyOut8 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Token) happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut8 #-} happyIn9 :: (([Pragma], [Declaration])) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn9 #-} happyOut9 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (([Pragma], [Declaration])) happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut9 #-} happyIn10 :: t10 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn10 #-} happyOut10 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t10 happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut10 #-} happyIn11 :: t11 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn11 #-} happyOut11 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t11 happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut11 #-} happyIn12 :: t12 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn12 #-} happyOut12 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t12 happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut12 #-} happyIn13 :: (()) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn13 #-} happyOut13 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (()) happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut13 #-} happyIn14 :: (Integer) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn14 #-} happyOut14 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Integer) happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut14 #-} happyIn15 :: (Name) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn15 #-} happyOut15 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Name) happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut15 #-} happyIn16 :: ([Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn16 #-} happyOut16 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Name]) happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut16 #-} happyIn17 :: (Range) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn17 #-} happyOut17 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Range) happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut17 #-} happyIn18 :: (Arg Name) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn18 #-} happyOut18 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Arg Name) happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut18 #-} happyIn19 :: ([Arg Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn19 #-} happyOut19 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Arg Name]) happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut19 #-} happyIn20 :: ([Arg Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn20 #-} happyOut20 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Arg Name]) happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut20 #-} happyIn21 :: (QName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn21 #-} happyOut21 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (QName) happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut21 #-} happyIn22 :: (QName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn22 #-} happyOut22 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (QName) happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut22 #-} happyIn23 :: (Name) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn23 #-} happyOut23 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Name) happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut23 #-} happyIn24 :: ([Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn24 #-} happyOut24 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Name]) happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut24 #-} happyIn25 :: ([Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn25 #-} happyOut25 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Name]) happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut25 #-} happyIn26 :: (Either [Name] [Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn26 #-} happyOut26 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Either [Name] [Expr]) happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut26 #-} happyIn27 :: ([WithHiding Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn27 #-} happyOut27 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([WithHiding Name]) happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut27 #-} happyIn28 :: ([String]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn28 #-} happyOut28 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([String]) happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut28 #-} happyIn29 :: (String) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn29 #-} happyOut29 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (String) happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut29 #-} happyIn30 :: (Name) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn30 #-} happyOut30 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Name) happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut30 #-} happyIn31 :: (QName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn31 #-} happyOut31 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (QName) happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut31 #-} happyIn32 :: (Expr) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn32 #-} happyOut32 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Expr) happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut32 #-} happyIn33 :: t33 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn33 #-} happyOut33 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t33 happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut33 #-} happyIn34 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn34 #-} happyOut34 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Expr]) happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut34 #-} happyIn35 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn35 #-} happyOut35 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Expr]) happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut35 #-} happyIn36 :: t36 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn36 #-} happyOut36 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t36 happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut36 #-} happyIn37 :: (Expr) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn37 #-} happyOut37 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Expr) happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut37 #-} happyIn38 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn38 #-} happyOut38 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Expr]) happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut38 #-} happyIn39 :: t39 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn39 #-} happyOut39 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t39 happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut39 #-} happyIn40 :: t40 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn40 #-} happyOut40 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t40 happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut40 #-} happyIn41 :: t41 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn41 #-} happyOut41 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t41 happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut41 #-} happyIn42 :: ([(Name, Expr)]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn42 #-} happyOut42 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([(Name, Expr)]) happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut42 #-} happyIn43 :: ([(Name, Expr)]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn43 #-} happyOut43 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([(Name, Expr)]) happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut43 #-} happyIn44 :: ((Name, Expr)) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn44 #-} happyOut44 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ((Name, Expr)) happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut44 #-} happyIn45 :: t45 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn45 #-} happyOut45 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t45 happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut45 #-} happyIn46 :: t46 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn46 #-} happyOut46 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t46 happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut46 #-} happyIn47 :: ([TypedBindings]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn47 #-} happyOut47 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([TypedBindings]) happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut47 #-} happyIn48 :: (TypedBindings) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn48 #-} happyOut48 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (TypedBindings) happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut48 #-} happyIn49 :: (TypedBindings) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn49 #-} happyOut49 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (TypedBindings) happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut49 #-} happyIn50 :: (TypedBindings) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn50 #-} happyOut50 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (TypedBindings) happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut50 #-} happyIn51 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn51 #-} happyOut51 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([LamBinding]) happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut51 #-} happyIn52 :: (Either ([LamBinding], Hiding) [Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn52 #-} happyOut52 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Either ([LamBinding], Hiding) [Expr]) happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut52 #-} happyIn53 :: ([Either Hiding LamBinding]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn53 #-} happyOut53 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Either Hiding LamBinding]) happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut53 #-} happyIn54 :: (Either [Either Hiding LamBinding] [Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn54 #-} happyOut54 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Either [Either Hiding LamBinding] [Expr]) happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut54 #-} happyIn55 :: ((LHS,RHS,WhereClause)) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn55 #-} happyOut55 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ((LHS,RHS,WhereClause)) happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut55 #-} happyIn56 :: ((LHS,RHS,WhereClause)) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn56 #-} happyOut56 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ((LHS,RHS,WhereClause)) happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut56 #-} happyIn57 :: ((LHS,RHS,WhereClause)) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn57 #-} happyOut57 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ((LHS,RHS,WhereClause)) happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut57 #-} happyIn58 :: ([(LHS,RHS,WhereClause)]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn58 #-} happyOut58 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([(LHS,RHS,WhereClause)]) happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut58 #-} happyIn59 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn59 #-} happyOut59 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([LamBinding]) happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut59 #-} happyIn60 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn60 #-} happyOut60 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([LamBinding]) happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut60 #-} happyIn61 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn61 #-} happyOut61 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([LamBinding]) happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut61 #-} happyIn62 :: ([LamBinding]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn62 #-} happyOut62 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([LamBinding]) happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut62 #-} happyIn63 :: (Either [LamBinding] [Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn63 #-} happyOut63 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Either [LamBinding] [Expr]) happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut63 #-} happyIn64 :: (ImportDirective) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn64 #-} happyOut64 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (ImportDirective) happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut64 #-} happyIn65 :: ([ImportDirective]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn65 #-} happyOut65 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([ImportDirective]) happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut65 #-} happyIn66 :: (ImportDirective) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn66 #-} happyOut66 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (ImportDirective) happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut66 #-} happyIn67 :: ((UsingOrHiding , Range)) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn67 #-} happyOut67 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ((UsingOrHiding , Range)) happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut67 #-} happyIn68 :: (([Renaming] , Range)) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn68 #-} happyOut68 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (([Renaming] , Range)) happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut68 #-} happyIn69 :: ([Renaming]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn69 #-} happyOut69 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Renaming]) happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut69 #-} happyIn70 :: (Renaming) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn70 #-} happyOut70 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Renaming) happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut70 #-} happyIn71 :: (ImportedName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn71 #-} happyOut71 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (ImportedName) happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut71 #-} happyIn72 :: (ImportedName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn72 #-} happyOut72 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (ImportedName) happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut72 #-} happyIn73 :: ([ImportedName]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn73 #-} happyOut73 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([ImportedName]) happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut73 #-} happyIn74 :: t74 -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn74 #-} happyOut74 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> t74 happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut74 #-} happyIn75 :: (LHS) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn75 #-} happyOut75 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (LHS) happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut75 #-} happyIn76 :: ([Pattern]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn76 #-} happyOut76 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Pattern]) happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut76 #-} happyIn77 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn77 #-} happyOut77 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Expr]) happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut77 #-} happyIn78 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn78 #-} happyOut78 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Expr]) happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut78 #-} happyIn79 :: (WhereClause) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn79 #-} happyOut79 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (WhereClause) happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut79 #-} happyIn80 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn80 #-} happyOut80 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut80 #-} happyIn81 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn81 #-} happyOut81 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut81 #-} happyIn82 :: ([Arg Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn82 #-} happyOut82 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Arg Declaration]) happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut82 #-} happyIn83 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn83 #-} happyOut83 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut83 #-} happyIn84 :: (RHSOrTypeSigs) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn84 #-} happyOut84 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (RHSOrTypeSigs) happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut84 #-} happyIn85 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn85 #-} happyOut85 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut85 #-} happyIn86 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn86 #-} happyOut86 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut86 #-} happyIn87 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn87 #-} happyOut87 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut87 #-} happyIn88 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn88 #-} happyOut88 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut88 #-} happyIn89 :: (Name) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn89 #-} happyOut89 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Name) happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut89 #-} happyIn90 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn90 #-} happyOut90 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut90 #-} happyIn91 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn91 #-} happyOut91 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut91 #-} happyIn92 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn92 #-} happyOut92 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut92 #-} happyIn93 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn93 #-} happyOut93 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut93 #-} happyIn94 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn94 #-} happyOut94 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut94 #-} happyIn95 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn95 #-} happyOut95 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut95 #-} happyIn96 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn96 #-} happyOut96 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut96 #-} happyIn97 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn97 #-} happyOut97 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut97 #-} happyIn98 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn98 #-} happyOut98 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut98 #-} happyIn99 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn99 #-} happyOut99 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut99 #-} happyIn100 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn100 #-} happyOut100 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut100 #-} happyIn101 :: ([Arg Name]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn101 #-} happyOut101 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Arg Name]) happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut101 #-} happyIn102 :: ([RString]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn102 #-} happyOut102 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([RString]) happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut102 #-} happyIn103 :: ([NamedArg HoleName]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn103 #-} happyOut103 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([NamedArg HoleName]) happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut103 #-} happyIn104 :: (NamedArg HoleName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn104 #-} happyOut104 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (NamedArg HoleName) happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut104 #-} happyIn105 :: (HoleName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn105 #-} happyOut105 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (HoleName) happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut105 #-} happyIn106 :: (HoleName) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn106 #-} happyOut106 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (HoleName) happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut106 #-} happyIn107 :: (RString) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn107 #-} happyOut107 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (RString) happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut107 #-} happyIn108 :: (Maybe Range) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn108 #-} happyOut108 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Maybe Range) happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut108 #-} happyIn109 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn109 #-} happyOut109 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut109 #-} happyIn110 :: ([Expr]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn110 #-} happyOut110 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Expr]) happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut110 #-} happyIn111 :: ([TypedBindings] -> Parser ModuleApplication) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn111 #-} happyOut111 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([TypedBindings] -> Parser ModuleApplication) happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut111 #-} happyIn112 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn112 #-} happyOut112 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut112 #-} happyIn113 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn113 #-} happyOut113 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut113 #-} happyIn114 :: (Name) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn114 #-} happyOut114 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Name) happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut114 #-} happyIn115 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn115 #-} happyOut115 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut115 #-} happyIn116 :: (Declaration) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn116 #-} happyOut116 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Declaration) happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut116 #-} happyIn117 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn117 #-} happyOut117 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut117 #-} happyIn118 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn118 #-} happyOut118 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut118 #-} happyIn119 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn119 #-} happyOut119 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut119 #-} happyIn120 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn120 #-} happyOut120 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut120 #-} happyIn121 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn121 #-} happyOut121 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut121 #-} happyIn122 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn122 #-} happyOut122 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut122 #-} happyIn123 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn123 #-} happyOut123 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut123 #-} happyIn124 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn124 #-} happyOut124 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut124 #-} happyIn125 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn125 #-} happyOut125 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut125 #-} happyIn126 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn126 #-} happyOut126 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut126 #-} happyIn127 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn127 #-} happyOut127 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut127 #-} happyIn128 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn128 #-} happyOut128 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut128 #-} happyIn129 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn129 #-} happyOut129 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut129 #-} happyIn130 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn130 #-} happyOut130 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut130 #-} happyIn131 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn131 #-} happyOut131 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut131 #-} happyIn132 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn132 #-} happyOut132 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut132 #-} happyIn133 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn133 #-} happyOut133 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut133 #-} happyIn134 :: (Pragma) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn134 #-} happyOut134 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Pragma) happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut134 #-} happyIn135 :: ([TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn135 #-} happyOut135 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([TypeSignature]) happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut135 #-} happyIn136 :: ([TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn136 #-} happyOut136 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([TypeSignature]) happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut136 #-} happyIn137 :: ([Arg TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn137 #-} happyOut137 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Arg TypeSignature]) happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut137 #-} happyIn138 :: ([Arg TypeSignature]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn138 #-} happyOut138 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Arg TypeSignature]) happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut138 #-} happyIn139 :: ([Constructor]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn139 #-} happyOut139 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Constructor]) happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut139 #-} happyIn140 :: ((Maybe (Ranged Induction), Maybe Name, [Declaration])) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn140 #-} happyOut140 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ((Maybe (Ranged Induction), Maybe Name, [Declaration])) happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut140 #-} happyIn141 :: (Ranged Induction) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn141 #-} happyOut141 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Ranged Induction) happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut141 #-} happyIn142 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn142 #-} happyOut142 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut142 #-} happyIn143 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn143 #-} happyOut143 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut143 #-} happyIn144 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn144 #-} happyOut144 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut144 #-} happyIn145 :: ([Declaration]) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn145 #-} happyOut145 :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> ([Declaration]) happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut145 #-} happyInTok :: (Token) -> (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) happyInTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyInTok #-} happyOutTok :: (HappyAbsSyn t10 t11 t12 t33 t36 t39 t40 t41 t45 t46 t74) -> (Token) happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOutTok #-} happyActOffsets :: HappyAddr happyActOffsets = HappyA# "\x00\x00\x36\x09\xdb\x05\x00\x00\xd2\x04\xd4\x05\x79\x04\xe0\x05\x00\x00\xce\x05\xdf\x05\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x00\x00\x00\x00\x05\x09\xdb\x08\xd2\x05\x00\x00\xb6\x02\xd1\x05\x56\x0b\x00\x00\x00\x00\xa1\x0f\xb9\x05\xb9\x05\x00\x00\x00\x00\x2e\x0b\x00\x00\x00\x00\xe6\x02\x0b\x0b\x00\x00\x00\x00\x2d\x0b\x65\x06\x25\x06\x6e\x07\x00\x00\x00\x00\x00\x00\xb4\x05\xca\x05\x00\x00\xc8\x05\x1f\x02\xc4\x05\x00\x00\x00\x00\xef\x00\xef\x00\x00\x00\xc0\x05\xc9\x05\xbf\x05\x31\x01\xbe\x05\xfe\x05\xbb\x05\xb1\x05\x0d\x04\x00\x00\x00\x00\x00\x00\x91\x0f\xdb\x08\x00\x00\xba\x05\x00\x00\x0a\x0b\x8e\x0f\x39\x04\xd3\x00\x00\x00\xaa\x08\x6c\x08\xc5\x09\x00\x00\xe3\x0a\x3d\x07\x25\x06\x02\x07\x00\x0a\x00\x0a\x00\x0a\xb6\x05\xe3\x0a\xd1\x06\x25\x06\x96\x06\xfc\x05\xf7\x05\xe2\x0a\x42\x08\xb2\x05\xe2\x0a\x00\x00\x9b\x09\x00\x0a\x00\x0a\xa8\x05\xa0\x05\xee\x05\x74\x05\x00\x00\xb7\x02\x00\x0a\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x42\x08\x00\x0a\x42\x08\xe3\x0a\xe9\x05\xa4\x05\x12\x04\x3c\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\x96\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\x9b\x05\x98\x05\x82\x00\xd0\x00\x8d\x05\x8d\x05\xc0\x0a\x86\x05\x88\x02\x88\x02\x88\x02\x84\x05\x84\x05\x84\x05\x84\x05\x8c\x05\x8c\x05\x8c\x05\x89\x05\xd4\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x05\xe4\xff\x81\x05\x80\x05\x7f\x05\x7e\x05\x7d\x05\x7c\x05\x7b\x05\x77\x05\x76\x05\x76\x05\x76\x05\x76\x05\x76\x05\x76\x05\x76\x05\xc6\x05\x98\x0a\x85\x05\xbf\x0a\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\xff\x00\xff\x00\x00\x00\xca\x03\x97\x0a\x74\x0a\x74\x0a\x00\x00\x00\x00\x74\x0a\x74\x0a\x00\x00\x75\x0a\x71\x05\x00\x00\x71\x05\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x00\x00\xd6\x00\x42\x08\x42\x08\xbd\x05\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x10\x00\x42\x08\x7a\x05\x6d\x05\x00\x00\x79\x05\x6a\x05\x67\x05\x62\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x08\x42\x08\x00\x0a\x66\x05\xef\x00\x68\x05\x62\x05\xef\x00\x65\x05\x30\x01\x61\x05\x00\x00\xe2\x00\x3d\x01\x5f\x05\x5e\x05\x5d\x05\x00\x00\x00\x0a\x00\x0a\x00\x00\x00\x0a\x00\x0a\x4c\x0a\x5c\x05\x4c\x0a\x11\x08\xd3\x07\x60\x09\x00\x00\x00\x00\x5b\x05\x35\x00\x00\x00\xe5\x03\x00\x00\x00\x00\xa9\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x07\x00\x00\x00\x00\x4d\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x62\x01\x66\x00\x62\x01\x00\x0a\x00\x00\x00\x0a\xa9\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x05\x4a\x05\x00\x00\xa9\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x07\x00\x00\x00\x00\x00\x00\x4e\x05\xde\x00\x00\x00\x48\x05\x5a\x05\x00\x00\x3d\x00\x29\x0a\x4d\x0a\x0d\x03\xe5\x05\x29\x0a\x97\x05\x29\x0a\x1d\x00\xb9\x00\x9f\x00\x9a\x00\x00\x0a\x00\x00\xca\x03\x1b\x05\x00\x00\x3d\x00\x34\x01\x5e\x01\xd5\xff\xd5\xff\xf2\xff\x00\x00\x00\x00\x00\x00\x29\x03\x00\x00\x00\x00\x00\x00\x54\x05\xed\xff\xed\xff\x00\x00\x00\x00\x16\x05\xa9\x07\x11\x05\x53\x05\x45\x05\x00\x00\x41\x05\x41\x05\x41\x05\x32\x05\x30\x05\x27\x05\x43\x05\x00\x00\x00\x00\x00\x00\x00\x00\x40\x05\x00\x00\x34\x05\x2d\x05\x22\x05\x22\x05\x1f\x05\x20\x05\x00\x00\x00\x00\x1e\x05\x1c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x19\x05\x18\x05\x00\x00\x10\x05\x17\x05\x15\x05\x12\x05\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x07\x09\x05\x13\x05\x07\x05\x08\x05\x0d\x05\x06\x05\x00\x00\x06\x05\x00\x00\xd5\xff\x05\x05\xfe\x04\x60\x00\x00\x00\xfe\x04\xfe\x04\xfe\x04\xfe\x04\x00\x00\xca\x03\xa9\x07\x00\x00\x48\x00\x02\x05\xa9\x07\x01\x05\xa9\x07\x01\x05\xa9\x07\xff\x04\xe5\x03\x00\x00\xff\x04\x00\x00\x60\x00\x00\x00\x00\x00\x0d\x03\x00\x00\x00\x00\x04\x05\x03\x05\x00\x05\x00\x00\x00\x00\xfb\x04\x00\x00\xea\x04\xa9\x07\x00\x00\x35\x05\x33\x05\x00\x00\x00\x00\x26\x04\x00\x00\x00\x00\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\x03\x00\x00\x00\x00\xe7\x04\xe7\x04\x00\x00\x00\x00\xe5\x03\x90\x00\x2d\x00\x2d\x00\x00\x00\x0d\x03\x00\x00\x2a\x0a\x0d\x03\x00\x00\xc8\x04\x00\x00\x00\x00\x0a\x00\xbc\x04\x00\x00\xb7\x04\x00\x00\xcd\x03\x00\x00\x00\x00\xe6\x04\x60\x00\xe5\x04\x60\x00\xca\x03\xca\x03\x00\x00\xde\x04\x00\x00\xe9\x04\xed\xff\x00\x00\x87\x04\xed\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x04\x00\x00\xd9\x04\x77\x04\xd8\x04\x00\x00\x00\x00\x00\x00\xca\x03\xca\x03\xca\x03\xca\x03\x00\x00\x3d\x00\x3d\x00\x10\x00\xd7\x04\x00\x00\x00\x00\x78\x04\x72\x04\x00\x00\x72\x04\x00\x00\x00\x00\xa5\x05\x00\x00\x00\x00\x7b\x04\x76\x04\x00\x00\x71\x04\x70\x04\x63\x04\x6b\x04\x74\x04\x9f\x04\x00\x00\x00\x00\x0d\x03\x00\x00\x00\x00\x00\x00\x56\x04\x56\x04\x7e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x05\x00\x00\x74\x05\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x3d\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x05\x00\x00\x10\x00\x00\x00\x00\x00"# happyGotoOffsets :: HappyAddr happyGotoOffsets = HappyA# "\x31\x04\xa2\x0f\x89\x04\x85\x04\x82\x04\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x08\x86\x0f\x00\x00\x00\x00\xe6\x03\xfa\x03\xa5\x01\x00\x00\x00\x00\xe3\x01\x6f\x04\x6d\x04\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x2a\x04\x00\x00\x00\x00\x70\x01\x0f\x01\xd2\x0b\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x68\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x03\x06\x02\x00\x00\x00\x00\x00\x00\x1f\x04\x6a\x0f\x00\x00\x00\x00\x00\x00\x4c\x03\x00\x00\x81\x00\x03\x00\x00\x00\x84\x01\x47\x0c\x94\x0b\x00\x00\x2a\x04\xd8\x06\xaf\x0b\xef\x0b\x44\x07\x1f\x0d\x02\x0d\x00\x00\xef\x02\x4e\x0f\x3a\x0d\x32\x0f\x00\x00\x00\x00\xe4\x03\x16\x0f\x00\x00\xc6\x03\x00\x00\x84\x01\xfb\x0c\xde\x0c\x00\x00\x1a\x00\x00\x00\x48\x03\x00\x00\x00\x00\xd7\x0c\xba\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x0e\x60\x02\xde\x0e\x87\x03\x27\x04\x00\x00\x20\x04\x66\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x03\xe7\x03\x06\x02\x1c\x00\x5c\x04\x50\x04\xfa\x00\xd3\x03\x42\x04\x3e\x04\x2c\x04\xa3\x03\x9c\x03\x99\x03\x8d\x03\x0a\x04\x03\x04\xf7\x03\xb7\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x03\x00\x00\xe2\x03\x00\x00\x00\x00\x94\x03\x00\x00\x00\x00\x00\x00\x83\x03\x7a\x03\x78\x03\x70\x03\x58\x03\x49\x03\x45\x03\x3b\x03\xf0\x02\x7e\x02\x00\x00\x7b\x00\x98\x02\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x02\x00\x00\x00\x00\xe4\x01\xbf\x01\x00\x00\x18\x00\x4a\x03\x28\x03\xd5\x02\x00\x00\x00\x00\xd2\x02\xb0\x02\x00\x00\x9d\x00\x2c\x03\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\xd0\x02\x00\x00\x00\x00\xea\x02\xc2\x0e\xa6\x0e\xe8\x02\x1b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x02\xf3\x05\xb3\x0c\x96\x0c\x1e\x03\x8a\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x13\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0e\x52\x0e\xe8\x01\x00\x00\x11\x03\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x03\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x0c\x72\x0c\x00\x00\x6b\x0c\x4e\x0c\x5f\x02\x00\x00\x5c\x02\x84\x01\x76\x0b\x69\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x01\x00\x00\x00\x00\x36\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x0e\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x02\x00\x00\xdf\x02\x70\x06\x00\x00\x30\x06\xfe\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\x08\x00\x00\x00\xe2\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x0d\x00\x00\x00\x00\x00\x00\xa1\x03\x19\x00\x00\x00\xea\x03\x00\x00\x00\x00\xec\x03\x5a\x02\x95\x00\x6c\x04\x3a\x0d\x09\x02\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x29\x0c\x00\x00\xaf\x02\x00\x00\x00\x00\xd5\x03\x00\x00\xdc\x02\x83\x02\x3c\x02\xa0\x00\x00\x00\x00\x00\x00\x00\x41\x02\x00\x00\x00\x00\x00\x00\x00\x00\x74\x03\x6c\x03\x00\x00\x00\x00\x00\x00\xaa\x0d\x96\x02\x79\x02\x00\x00\x00\x00\x95\x02\x86\x02\x84\x02\x00\x00\x4f\x02\x4e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x02\x26\x02\x00\x00\x15\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x0d\x00\x00\x00\x00\xb8\x01\x00\x00\x00\x00\x89\x01\x00\x00\xad\xff\x00\x00\x8f\x01\x00\x00\xcc\x01\xc1\x01\x00\x00\xab\x03\xa7\x03\xa2\x03\x4f\x03\x00\x00\xb8\x00\x72\x0d\x00\x00\x00\x00\x44\x01\x56\x0d\x92\x01\x07\x0a\x8b\x01\xa2\x09\x06\x03\x20\x00\x00\x00\xf7\x02\x00\x00\xab\x01\x00\x00\x00\x00\x8e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xb0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x00\x00\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\x04\x00\x00\x00\x00\xf1\x02\x8b\x02\x00\x00\x00\x00\xff\xff\x55\x01\x0d\x01\xd7\x00\x00\x00\x62\x04\x00\x00\x3b\x00\x15\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x1c\x01\xae\x02\x8d\x02\x00\x00\x32\x01\x00\x00\x00\x00\xd8\x02\x00\x00\x00\x00\xa2\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\x13\x01\x00\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x7c\x02\x20\x02\xa2\x00\x2c\x00\x00\x00\xbf\x02\x6c\x02\x1b\x01\xfe\x00\x00\x00\x00\x00\x57\x00\xd4\x00\x00\x00\x85\x00\x00\x00\x00\x00\x3a\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\x00\x00\xf1\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\xbc\x03\x00\x00\x00\x00\x00\x00\xc2\x00\x84\x00\x51\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x58\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x4d\x01\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x0e\x00\x00\x00\x00\x00"# happyDefActions :: HappyAddr happyDefActions = HappyA# "\xfa\xff\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\xa4\xfe\x7f\xff\x59\xff\x00\x00\x6d\xff\x6c\xff\x6a\xff\x69\xff\x66\xff\x00\x00\x47\xff\x46\xff\x64\xff\x00\x00\x00\x00\x3f\xff\x3d\xff\x00\x00\x00\x00\x55\xff\x54\xff\x00\x00\x00\x00\x00\x00\x53\xff\x52\xff\x00\x00\x51\xff\x50\xff\x00\x00\x00\x00\x56\xff\x57\xff\x00\x00\xa4\xfe\x00\x00\x00\x00\x97\xff\x80\xff\x58\xff\x00\x00\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x5a\xff\x4c\xff\x00\x00\x00\x00\x94\xff\x00\x00\x00\x00\x00\x00\x77\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xfe\x4d\xff\x7d\xff\x0f\xff\x23\xff\x00\x00\x5e\xff\x00\x00\x2e\xff\x2b\xff\x24\xff\x00\x00\x00\x00\x7c\xff\xa4\xfe\x00\x00\x00\x00\x4a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\xff\x5d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\xff\x00\x00\x00\x00\x15\xff\x10\xff\xa4\xfe\x00\x00\x00\x00\x00\x00\x45\xff\x00\x00\xa4\xfe\x3e\xff\x00\x00\x00\x00\x00\x00\x40\xff\x71\xff\x68\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xeb\xfe\x00\x00\xcc\xfe\x5c\xfe\xe4\xfe\xe3\xfe\xe2\xfe\xe1\xfe\xe0\xfe\xdf\xfe\xe5\xfe\xde\xfe\xdd\xfe\xdc\xfe\xdb\xfe\xda\xfe\xd9\xfe\xd2\xfe\xd4\xfe\xd3\xfe\xd8\xfe\xd7\xfe\xd6\xfe\xa0\xff\xd5\xfe\x96\xfe\x85\xfe\x95\xfe\x94\xfe\x93\xfe\x92\xfe\x90\xfe\x91\xfe\x8f\xfe\x8e\xfe\x8d\xfe\x8a\xfe\x87\xfe\x88\xfe\x89\xfe\x86\xfe\x8c\xfe\x8b\xfe\x5a\xfe\x97\xfe\x00\x00\x00\x00\xa5\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\xef\xfe\x00\x00\xfb\xff\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf5\xff\xf4\xff\xf3\xff\xf2\xff\xf1\xff\xf0\xff\xef\xff\xee\xff\xed\xff\xec\xff\xeb\xff\xea\xff\xe9\xff\xe8\xff\xe7\xff\xe6\xff\xe5\xff\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xd9\xff\xd8\xff\xd7\xff\xd6\xff\xd5\xff\xd4\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xd3\xff\xd2\xff\xd1\xff\xd0\xff\xcf\xff\xce\xff\xcd\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\xc2\xff\xc1\xff\xc0\xff\xbf\xff\xbe\xff\xbd\xff\xbc\xff\xbb\xff\xba\xff\xb9\xff\xb8\xff\xb7\xff\xb6\xff\xb5\xff\xb4\xff\xb3\xff\xb2\xff\xb1\xff\xb0\xff\xaf\xff\xae\xff\xad\xff\xac\xff\xab\xff\xaa\xff\xa9\xff\xa8\xff\xa7\xff\xa6\xff\xa5\xff\xa4\xff\xa3\xff\xa2\xff\x76\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\xfe\x00\x00\x00\x00\xb5\xfe\x00\x00\xbb\xfe\xbc\xfe\xbd\xfe\xbe\xfe\x00\x00\x98\xff\x99\xff\x00\x00\x00\x00\xbf\xfe\x00\x00\x11\xff\x11\xff\x11\xff\x7f\xff\x7e\xff\x11\xff\x11\xff\x98\xfe\xa0\xfe\x00\x00\xb9\xfe\x00\x00\xba\xfe\xa1\xff\x9f\xff\xa4\xfe\x9c\xff\x9b\xff\xe9\xfe\x00\x00\x00\x00\xed\xfe\x00\x00\x4b\xff\x6e\xff\x6b\xff\x6f\xff\x78\xff\x64\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\x43\xff\x45\xff\x79\xff\x00\x00\x77\xff\x17\xff\x18\xff\x70\xff\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\xff\x00\x00\x19\xff\x00\x00\x00\x00\x21\xff\x20\xff\x22\xff\x0e\xff\x00\x00\x00\x00\x0d\xff\x00\x00\x00\x00\x2a\xff\x26\xff\x2b\xff\xa4\xfe\x00\x00\x00\x00\x2f\xff\x67\xff\x25\xff\x00\x00\x33\xff\x00\x00\x36\xff\x4e\xff\x00\x00\x93\xff\x35\xff\x4f\xff\x34\xff\x5b\xff\x00\x00\x31\xff\x30\xff\xa0\xfe\x32\xff\x28\xff\x27\xff\x29\xff\x2d\xff\x2c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x3c\xff\x3a\xff\x3b\xff\x39\xff\x37\xff\x38\xff\x60\xff\x62\xff\x63\xff\x0b\xff\x0c\xff\x00\x00\x00\x00\x49\xff\x00\x00\x65\xff\x60\xfe\x9d\xff\x9e\xff\xea\xfe\xf1\xfe\x00\x00\xce\xfe\xcd\xfe\xcf\xfe\x00\x00\x00\x00\x5d\xfe\x95\xff\x00\x00\x70\xfe\x00\x00\x11\xff\xa0\xfe\x04\xff\x00\x00\x11\xff\x00\x00\x11\xff\x00\x00\x00\x00\x00\x00\x00\x00\x45\xff\x91\xff\x8d\xff\x00\x00\x6d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\xff\xc2\xfe\xc1\xfe\xc0\xfe\x00\x00\xb1\xfe\xaf\xfe\xaa\xfe\x00\x00\x00\x00\x00\x00\xa6\xfe\xb4\xfe\x00\x00\x00\x00\xef\xfe\xed\xfe\x00\x00\x72\xff\x76\xff\x76\xff\x76\xff\x00\x00\x00\x00\x76\xff\x00\x00\x73\xff\x76\xfe\x77\xfe\x78\xfe\x00\x00\x73\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\xff\x75\xff\x84\xfe\x00\x00\x00\x00\x81\xfe\x74\xfe\x79\xfe\x75\xfe\x00\x00\x00\x00\x74\xff\x76\xff\x00\x00\x00\x00\x00\x00\x7a\xfe\xf0\xfe\xee\xfe\xb8\xfe\x00\x00\x00\x00\xa8\xfe\x00\x00\x00\x00\xa8\xfe\x00\x00\xb0\xfe\x00\x00\x7b\xff\x8f\xff\x00\x00\x00\x00\x00\x00\x92\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xfe\x00\x00\x00\x00\x8e\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\xff\x00\x00\x12\xff\x00\x00\xa2\xfe\x06\xff\x04\xff\x02\xff\x01\xff\x00\x00\x00\x00\x00\x00\x03\xff\x9f\xfe\x00\x00\x72\xfe\x00\x00\x00\x00\x96\xff\x00\x00\x00\x00\x5e\xfe\xe8\xfe\x00\x00\xec\xfe\x41\xff\x42\xff\x48\xff\x1f\xff\x1e\xff\x1d\xff\x1c\xff\x1a\xff\x1b\xff\x09\xff\x0a\xff\x07\xff\x08\xff\x04\xff\xa3\xfe\x5f\xfe\x00\x00\x00\x00\xd1\xfe\x71\xfe\x00\x00\x9a\xff\xf5\xfe\xf5\xfe\x05\xff\x04\xff\x99\xfe\xa0\xfe\x04\xff\x9a\xfe\xc7\xfe\x6b\xfe\xc9\xfe\x00\x00\x00\x00\xc8\xfe\xc4\xfe\xc5\xfe\x00\x00\xd0\xfe\x6e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xff\x89\xff\x90\xff\xb7\xfe\xb3\xfe\x00\x00\x00\x00\xad\xfe\x00\x00\x00\x00\xae\xfe\xb6\xfe\x7b\xfe\x7c\xfe\x7e\xfe\x00\x00\x7f\xfe\x80\xfe\x82\xfe\x83\xfe\x7d\xfe\x00\x00\xa8\xfe\x00\x00\x00\x00\x00\x00\xb2\xfe\x8a\xff\x8c\xff\x85\xff\x87\xff\x81\xff\x83\xff\x6a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x62\xfe\x61\xfe\x00\x00\x00\x00\x6c\xfe\x00\x00\x9c\xfe\x9d\xfe\x00\x00\xa1\xfe\xf7\xfe\xf3\xfe\x00\x00\xf4\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xfe\x00\x00\x9a\xff\xfd\xfe\x04\xff\xe7\xfe\xe6\xfe\x9b\xfe\x00\x00\x00\x00\x9a\xff\xfe\xfe\xf9\xfe\xff\xfe\xf6\xfe\x00\xff\x00\x00\x00\x00\xcb\xfe\xca\xfe\xc6\xfe\xc3\xfe\x67\xfe\x66\xfe\xa4\xfe\x69\xfe\xa4\xfe\x84\xff\x82\xff\x88\xff\x86\xff\x00\x00\xab\xfe\xa7\xfe\xac\xfe\xa9\xfe\x00\x00\x00\x00\x00\x00\x9e\xfe\xf2\xfe\xfc\xfe\xfa\xfe\xf8\xfe\x63\xfe\x65\xfe\xa4\xfe\x68\xfe\x00\x00\x64\xfe"# happyCheck :: HappyAddr happyCheck = HappyA# "\xff\xff\x05\x00\x05\x00\x09\x00\x0a\x00\x09\x00\x09\x00\x0a\x00\x09\x00\x25\x00\x00\x00\x0f\x00\x09\x00\x60\x00\x0f\x00\x10\x00\x00\x00\x09\x00\x65\x00\x05\x00\x11\x00\x40\x00\x09\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x03\x00\x09\x00\x09\x00\x09\x00\x0c\x00\x09\x00\x0e\x00\x09\x00\x0a\x00\x09\x00\x55\x00\x0f\x00\x10\x00\x25\x00\x26\x00\x0f\x00\x10\x00\x24\x00\x25\x00\x26\x00\x47\x00\x09\x00\x44\x00\x02\x00\x0c\x00\x05\x00\x0e\x00\x57\x00\x0f\x00\x00\x00\x24\x00\x25\x00\x26\x00\x45\x00\x55\x00\x05\x00\x09\x00\x4b\x00\x4a\x00\x55\x00\x4b\x00\x4d\x00\x0f\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\x51\x00\x21\x00\x22\x00\x23\x00\x55\x00\x43\x00\x51\x00\x66\x00\x67\x00\x4c\x00\x0b\x00\x6a\x00\x6b\x00\x69\x00\x4b\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x05\x00\x41\x00\x82\x00\x4b\x00\x09\x00\x55\x00\x87\x00\x09\x00\x6c\x00\x8a\x00\x0f\x00\x6c\x00\x69\x00\x09\x00\x43\x00\x11\x00\x09\x00\x51\x00\x52\x00\x48\x00\x0f\x00\x11\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x84\x00\x03\x00\x09\x00\x0f\x00\x82\x00\x09\x00\x03\x00\x68\x00\x0f\x00\x2a\x00\x09\x00\x0f\x00\x42\x00\x09\x00\x2f\x00\x09\x00\x0f\x00\x4d\x00\x0c\x00\x4f\x00\x0e\x00\x11\x00\x12\x00\x38\x00\x39\x00\x4f\x00\x21\x00\x22\x00\x23\x00\x21\x00\x22\x00\x23\x00\x03\x00\x45\x00\x21\x00\x22\x00\x23\x00\x09\x00\x4a\x00\x09\x00\x0c\x00\x4d\x00\x0e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x09\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x55\x00\x56\x00\x03\x00\x5f\x00\x4b\x00\x42\x00\x86\x00\x66\x00\x67\x00\x09\x00\x42\x00\x6a\x00\x6b\x00\x07\x00\x0f\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x09\x00\x09\x00\x42\x00\x42\x00\x68\x00\x44\x00\x0f\x00\x68\x00\x09\x00\x8a\x00\x09\x00\x4c\x00\x68\x00\x81\x00\x09\x00\x42\x00\x0f\x00\x85\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x44\x00\x4f\x00\x09\x00\x44\x00\x09\x00\x42\x00\x43\x00\x44\x00\x22\x00\x4a\x00\x0f\x00\x4c\x00\x05\x00\x4e\x00\x44\x00\x41\x00\x15\x00\x55\x00\x56\x00\x0b\x00\x55\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x55\x00\x52\x00\x45\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x2c\x00\x4d\x00\x4d\x00\x4f\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x44\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x42\x00\x43\x00\x44\x00\x05\x00\x06\x00\x55\x00\x81\x00\x66\x00\x67\x00\x07\x00\x85\x00\x6a\x00\x6b\x00\x07\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x09\x00\x42\x00\x65\x00\x43\x00\x66\x00\x67\x00\x0f\x00\x65\x00\x09\x00\x8a\x00\x8b\x00\x4b\x00\x41\x00\x41\x00\x4f\x00\x4c\x00\x11\x00\x4e\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4f\x00\x09\x00\x52\x00\x52\x00\x3f\x00\x40\x00\x41\x00\x0f\x00\x3f\x00\x40\x00\x41\x00\x65\x00\x09\x00\x15\x00\x2a\x00\x0c\x00\x0d\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x42\x00\x21\x00\x22\x00\x23\x00\x38\x00\x39\x00\x4c\x00\x0b\x00\x4e\x00\x45\x00\x09\x00\x4d\x00\x2c\x00\x4f\x00\x4a\x00\x55\x00\x0f\x00\x4d\x00\x0b\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\x22\x00\x09\x00\x4a\x00\x86\x00\x4c\x00\x0b\x00\x4e\x00\x66\x00\x67\x00\x11\x00\x12\x00\x6a\x00\x6b\x00\x55\x00\x09\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x09\x00\x66\x00\x67\x00\x09\x00\x09\x00\x65\x00\x0f\x00\x09\x00\x09\x00\x8a\x00\x09\x00\x11\x00\x11\x00\x12\x00\x0f\x00\x11\x00\x0f\x00\x10\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x81\x00\x2a\x00\x09\x00\x09\x00\x85\x00\x2a\x00\x09\x00\x81\x00\x0f\x00\x0f\x00\x10\x00\x85\x00\x35\x00\x36\x00\x11\x00\x38\x00\x39\x00\x65\x00\x37\x00\x38\x00\x39\x00\x16\x00\x1d\x00\x1e\x00\x1f\x00\x45\x00\x21\x00\x22\x00\x23\x00\x09\x00\x4a\x00\x16\x00\x0c\x00\x4d\x00\x0e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x2a\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x19\x00\x37\x00\x38\x00\x39\x00\x19\x00\x09\x00\x09\x00\x66\x00\x67\x00\x0c\x00\x0d\x00\x6a\x00\x6b\x00\x11\x00\x12\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x09\x00\x43\x00\x09\x00\x16\x00\x09\x00\x17\x00\x0f\x00\x09\x00\x09\x00\x8a\x00\x11\x00\x4d\x00\x11\x00\x4f\x00\x0f\x00\x11\x00\x05\x00\x06\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2a\x00\x09\x00\x2a\x00\x09\x00\x0c\x00\x2a\x00\x0e\x00\x2f\x00\x09\x00\x0f\x00\x2f\x00\x0c\x00\x0d\x00\x37\x00\x38\x00\x39\x00\x38\x00\x39\x00\x09\x00\x38\x00\x39\x00\x0c\x00\x16\x00\x0e\x00\x16\x00\x45\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4a\x00\x62\x00\x63\x00\x4d\x00\x65\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x16\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x09\x00\x09\x00\x09\x00\x0c\x00\x0c\x00\x0e\x00\x0e\x00\x66\x00\x67\x00\x47\x00\x11\x00\x6a\x00\x6b\x00\x05\x00\x06\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x09\x00\x2a\x00\x09\x00\x46\x00\x55\x00\x09\x00\x0f\x00\x58\x00\x46\x00\x8a\x00\x11\x00\x49\x00\x09\x00\x11\x00\x37\x00\x38\x00\x39\x00\x0b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0b\x00\x3f\x00\x40\x00\x0b\x00\x09\x00\x61\x00\x62\x00\x63\x00\x2a\x00\x65\x00\x0f\x00\x2a\x00\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\x64\x00\x65\x00\x06\x00\x37\x00\x38\x00\x39\x00\x37\x00\x38\x00\x39\x00\x20\x00\x21\x00\x22\x00\x23\x00\x88\x00\x89\x00\x45\x00\x06\x00\x0a\x00\x0b\x00\x0c\x00\x4a\x00\x0e\x00\x0b\x00\x4d\x00\x0b\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x05\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x47\x00\x4a\x00\x09\x00\x4c\x00\x49\x00\x4e\x00\x09\x00\x66\x00\x67\x00\x48\x00\x11\x00\x6a\x00\x6b\x00\x64\x00\x65\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x09\x00\x2a\x00\x09\x00\x19\x00\x09\x00\x09\x00\x0f\x00\x09\x00\x0a\x00\x8a\x00\x11\x00\x0f\x00\x11\x00\x19\x00\x37\x00\x38\x00\x39\x00\x19\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x43\x00\x20\x00\x21\x00\x22\x00\x23\x00\x19\x00\x09\x00\x4a\x00\x2a\x00\x4c\x00\x2a\x00\x4e\x00\x0f\x00\x88\x00\x89\x00\x2f\x00\x13\x00\x14\x00\x55\x00\x88\x00\x89\x00\x37\x00\x38\x00\x39\x00\x38\x00\x39\x00\x1d\x00\x1e\x00\x1f\x00\x19\x00\x21\x00\x22\x00\x23\x00\x45\x00\x88\x00\x89\x00\x09\x00\x19\x00\x4a\x00\x19\x00\x2b\x00\x4d\x00\x0f\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x18\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x16\x00\x21\x00\x22\x00\x23\x00\x09\x00\x0a\x00\x19\x00\x66\x00\x67\x00\x09\x00\x0a\x00\x6a\x00\x6b\x00\x09\x00\x0a\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\x7d\x00\x7e\x00\x7f\x00\x80\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x00\x00\x01\x00\x09\x00\x64\x00\x65\x00\x8a\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x64\x00\x65\x00\x05\x00\x06\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x09\x00\x21\x00\x22\x00\x2a\x00\x05\x00\x06\x00\x09\x00\x0a\x00\x11\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x19\x00\x36\x00\x46\x00\x38\x00\x39\x00\x09\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3f\x00\x40\x00\x3e\x00\x09\x00\x40\x00\x2a\x00\x29\x00\x2a\x00\x44\x00\x45\x00\x09\x00\x47\x00\x88\x00\x4c\x00\x4a\x00\x4e\x00\x4c\x00\x36\x00\x4e\x00\x38\x00\x39\x00\x51\x00\x55\x00\x53\x00\x88\x00\x55\x00\x56\x00\x88\x00\x58\x00\x00\x00\x01\x00\x09\x00\x88\x00\x89\x00\x88\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x00\x00\x01\x00\x09\x00\x08\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x0f\x00\x55\x00\x56\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x08\x00\x21\x00\x22\x00\x2a\x00\x08\x00\x21\x00\x22\x00\x23\x00\x2f\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x42\x00\x43\x00\x83\x00\x38\x00\x39\x00\x09\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x55\x00\x56\x00\x3e\x00\x09\x00\x40\x00\x88\x00\x81\x00\x04\x00\x44\x00\x45\x00\x06\x00\x47\x00\x4e\x00\x48\x00\x4a\x00\x88\x00\x4c\x00\x0b\x00\x4e\x00\x0b\x00\x09\x00\x51\x00\x09\x00\x53\x00\x01\x00\x55\x00\x56\x00\x44\x00\x58\x00\x06\x00\x07\x00\x08\x00\x88\x00\x4a\x00\x02\x00\x4c\x00\x01\x00\x4e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x03\x00\x0f\x00\x55\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x4b\x00\x21\x00\x22\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x55\x00\x0d\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x41\x00\x4b\x00\x3e\x00\x55\x00\x40\x00\x03\x00\x4b\x00\x41\x00\x44\x00\x45\x00\x03\x00\x47\x00\x4b\x00\x50\x00\x4a\x00\x4d\x00\x4c\x00\x55\x00\x4e\x00\x50\x00\x4f\x00\x51\x00\x03\x00\x53\x00\x46\x00\x55\x00\x56\x00\x54\x00\x58\x00\x59\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\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\x2d\x00\x2e\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\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\x01\x00\x55\x00\x55\x00\x55\x00\x46\x00\x06\x00\x07\x00\x08\x00\x55\x00\x4f\x00\x4f\x00\x03\x00\x50\x00\x03\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x43\x00\x55\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x4a\x00\x21\x00\x22\x00\x4a\x00\x4a\x00\x50\x00\x43\x00\x50\x00\x50\x00\x55\x00\x4f\x00\x4d\x00\x43\x00\x04\x00\x4f\x00\x43\x00\x49\x00\x55\x00\x55\x00\x42\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x54\x00\x57\x00\x3e\x00\x54\x00\x40\x00\x54\x00\x54\x00\x54\x00\x44\x00\x45\x00\x54\x00\x47\x00\x54\x00\x54\x00\x4a\x00\x01\x00\x4c\x00\x57\x00\x4e\x00\x57\x00\x06\x00\x07\x00\x08\x00\x53\x00\x57\x00\x55\x00\x56\x00\x54\x00\x58\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x57\x00\x54\x00\x57\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x54\x00\x21\x00\x22\x00\x54\x00\x57\x00\x54\x00\x03\x00\x47\x00\x42\x00\x55\x00\x50\x00\x55\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x46\x00\x46\x00\x01\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x4b\x00\x4f\x00\x3e\x00\x4b\x00\x40\x00\x4f\x00\x4f\x00\x12\x00\x44\x00\x45\x00\x41\x00\x47\x00\x4f\x00\x43\x00\x4a\x00\x55\x00\x4c\x00\x04\x00\x4e\x00\x1e\x00\x1f\x00\x20\x00\x55\x00\x53\x00\x43\x00\x55\x00\x56\x00\x05\x00\x58\x00\x57\x00\x57\x00\x54\x00\x54\x00\x54\x00\x49\x00\x54\x00\x50\x00\x57\x00\x50\x00\x57\x00\x57\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x57\x00\x3b\x00\x55\x00\x55\x00\x3e\x00\x3f\x00\x40\x00\x01\x00\x51\x00\x50\x00\x44\x00\x45\x00\x50\x00\x47\x00\x49\x00\x05\x00\x4a\x00\x02\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x55\x00\x4e\x00\x12\x00\x46\x00\x02\x00\x55\x00\x56\x00\x09\x00\x58\x00\x02\x00\x49\x00\x46\x00\x50\x00\x0f\x00\x1e\x00\x1f\x00\x20\x00\x4b\x00\x09\x00\x15\x00\x4b\x00\x4b\x00\x42\x00\x42\x00\x59\x00\x55\x00\x4f\x00\x1d\x00\x1e\x00\x1f\x00\x4f\x00\x21\x00\x22\x00\x23\x00\x4f\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2c\x00\x3b\x00\x50\x00\x43\x00\x3e\x00\x3f\x00\x40\x00\x01\x00\x59\x00\x48\x00\x44\x00\x45\x00\x50\x00\x47\x00\x59\x00\xff\xff\x4a\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\x12\x00\xff\xff\x09\x00\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x31\x00\x32\x00\x33\x00\x3f\x00\x40\x00\x01\x00\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x08\x00\xff\xff\x4a\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\x12\x00\xff\xff\x09\x00\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x31\x00\x32\x00\x33\x00\x3f\x00\x40\x00\xff\xff\xff\xff\x12\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\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\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x01\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x09\x00\x4c\x00\x12\x00\x4e\x00\x4f\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x15\x00\x58\x00\x1e\x00\x1f\x00\x20\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x2c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\x12\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\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\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x01\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x09\x00\x4c\x00\x12\x00\x4e\x00\x4f\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x15\x00\x58\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x2c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\x12\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\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\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x01\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x09\x00\x4c\x00\x12\x00\x4e\x00\x4f\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\x1e\x00\x1f\x00\x20\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x01\x00\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x12\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x1e\x00\x1f\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\x01\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\x08\x00\x47\x00\xff\xff\xff\xff\x4a\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x12\x00\x09\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x0f\x00\x58\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x12\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x12\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x1e\x00\x1f\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\x01\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\x08\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x09\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x12\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x12\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x12\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x1e\x00\x1f\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x12\x00\x44\x00\x45\x00\x46\x00\x47\x00\xff\xff\x49\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x12\x00\xff\xff\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x1e\x00\x1f\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x01\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x08\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x09\x00\x4c\x00\x12\x00\x4e\x00\x4f\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\x1e\x00\x1f\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x01\x00\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x12\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x1e\x00\x1f\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x01\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x09\x00\x4c\x00\x12\x00\x4e\x00\x4f\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\x1e\x00\x1f\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\xff\xff\xff\xff\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\x12\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x1e\x00\x1f\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x36\x00\x37\x00\xff\xff\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\x1e\x00\x1f\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\x36\x00\x37\x00\xff\xff\x39\x00\x12\x00\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\xff\xff\xff\xff\x44\x00\x44\x00\x45\x00\x1e\x00\x1f\x00\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x36\x00\x37\x00\xff\xff\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\x1e\x00\x1f\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\x36\x00\x37\x00\xff\xff\x39\x00\x12\x00\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\xff\xff\xff\xff\x44\x00\x44\x00\x45\x00\x1e\x00\x1f\x00\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x36\x00\x37\x00\xff\xff\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\x1e\x00\x1f\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\x36\x00\x37\x00\xff\xff\x39\x00\x12\x00\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\xff\xff\xff\xff\x44\x00\x44\x00\x45\x00\x1e\x00\x1f\x00\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\x12\x00\x36\x00\x37\x00\xff\xff\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\x1e\x00\x1f\x00\x44\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x55\x00\x56\x00\xff\xff\x58\x00\x36\x00\x37\x00\xff\xff\x39\x00\x12\x00\x3b\x00\xff\xff\xff\xff\x3f\x00\x40\x00\x40\x00\xff\xff\xff\xff\x44\x00\x44\x00\x45\x00\x1e\x00\x1f\x00\xff\xff\x4a\x00\x4a\x00\x4c\x00\x4c\x00\x4e\x00\x4e\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x55\x00\x55\x00\x56\x00\x0f\x00\x58\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x36\x00\x37\x00\xff\xff\x39\x00\xff\xff\x3b\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\x40\x00\x21\x00\x22\x00\x23\x00\x44\x00\x45\x00\xff\xff\x09\x00\xff\xff\xff\xff\x4a\x00\x2b\x00\x4c\x00\x0f\x00\x4e\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\x55\x00\x56\x00\xff\xff\x58\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x2b\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\x09\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\x09\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\x09\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x2b\x00\xff\xff\x0f\x00\x09\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x2b\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\x09\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x2b\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\x09\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x2b\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\x09\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x2b\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\x09\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x2b\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\x09\x00\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x2b\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\x09\x00\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\x28\x00\x29\x00\x2a\x00\x3f\x00\x40\x00\xff\xff\x3f\x00\x40\x00\x44\x00\xff\xff\x46\x00\x44\x00\xff\xff\x46\x00\x4a\x00\xff\xff\x4c\x00\x4a\x00\x4e\x00\x4c\x00\xff\xff\x4e\x00\x3f\x00\x40\x00\xff\xff\x55\x00\xff\xff\x44\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\xff\xff\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x94\x02\x9d\x02\xbb\x01\xbc\x01\x07\x00\xbb\x01\xbc\x01\x37\x01\xf7\x01\xb1\x01\x08\x00\x43\x00\x76\x02\x38\x01\x61\x02\xb1\x01\x56\x01\x77\x02\xdc\x02\x73\x01\x1a\x02\x56\x01\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x2c\x02\xcb\x01\x40\x02\x56\x01\xcc\x01\x37\x01\xcd\x01\xbb\x01\xbc\x01\x37\x01\x2c\x00\x38\x01\x39\x01\x47\x02\x59\x01\x38\x01\x61\x02\xaa\x01\x58\x01\x59\x01\x11\x02\xcb\x01\x4f\x00\x56\x01\xcc\x01\xd7\x02\xc6\x02\xf8\x01\xa8\x02\xb1\x01\x57\x01\x58\x01\x59\x01\x7b\x00\xe0\x01\xda\x02\x07\x00\x59\x02\x7c\x00\x2c\x00\xbd\x01\x7d\x00\x08\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x95\x02\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xb2\x01\x10\x00\x11\x00\xc0\x01\x2c\x00\x2d\x02\xb2\x01\x3e\x00\x8d\x00\xce\x01\xd2\x02\x8e\x00\x8f\x00\xaf\x02\xbd\x01\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x55\x02\x45\x01\xbe\x01\x92\x01\x07\x00\x2c\x00\x96\x02\x43\x00\x41\x02\x97\x02\x08\x00\x3a\x01\x62\x02\x43\x00\xae\x01\x44\x00\xd5\x02\xb2\x01\x46\x01\x79\x00\x3e\x01\x76\x01\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\xcf\x01\x26\x02\x07\x00\xae\x02\xbe\x01\x07\x00\x28\x02\xa0\x02\x08\x00\x79\x01\x07\x00\x08\x00\x8e\x01\x43\x00\xe0\x01\xcb\x01\x08\x00\x39\x00\xcc\x01\x3a\x00\xc7\x02\xd4\x01\x16\x02\x7b\x01\x65\x00\x51\x02\x10\x00\x11\x00\xc0\x01\x10\x00\x11\x00\xc0\x01\x2a\x02\x7b\x00\x10\x00\x11\x00\xc0\x01\xcb\x01\x7c\x00\xa3\x02\xcc\x01\x7d\x00\xcd\x01\x7e\x00\x7f\x00\x80\x00\x81\x00\xd6\x02\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x2c\x00\x2d\x00\xb9\x01\xe1\x01\xaf\x02\x27\x02\xbf\x02\x3e\x00\x8d\x00\xa3\x02\x29\x02\x8e\x00\x8f\x00\xb3\x02\xba\x01\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x07\x00\xb7\x02\x2b\x02\xa4\x02\x3a\x02\xd3\x02\x08\x00\x53\x02\xb9\x02\x54\x01\x07\x00\x6e\x02\xc1\x01\x65\x02\xc0\x02\x8e\x01\x08\x00\xbd\x02\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x3c\x01\x53\x02\xa3\x02\x4f\x00\x07\x00\xa4\x02\xa5\x02\xa6\x02\x34\x01\x52\x01\x08\x00\x75\x01\xc1\x02\x76\x01\x3c\x01\x45\x01\x3a\x00\x2c\x00\x2d\x00\x90\x02\x2c\x00\x3b\x00\x0a\x00\x0b\x00\x3c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x2c\x00\x46\x01\x7b\x00\x13\x00\x14\x00\x15\x00\x16\x00\x7c\x00\x3d\x00\x39\x00\x7d\x00\x3a\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x4f\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xa4\x02\xa8\x02\xa6\x02\xd8\x02\xd9\x02\x2c\x00\x65\x02\x3e\x00\x8d\x00\xa9\x02\xbe\x02\x8e\x00\x8f\x00\xa9\x02\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x07\x00\x78\xff\xca\x02\x6a\xff\x3e\x00\x3f\x00\x08\x00\xcc\x02\x43\x00\xa4\x00\xa5\x00\x6a\xff\x45\x01\x45\x01\x78\xff\x1f\x02\x44\x00\x20\x02\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x9d\x01\x07\x00\x46\x01\x46\x01\xd4\x02\xab\x02\xac\x02\x08\x00\xaa\x02\xab\x02\xac\x02\x8d\x02\xcb\x01\x3a\x00\x45\x00\x17\x02\x75\x02\x46\x00\x47\x00\x48\x00\x49\x00\x5d\x01\x0d\x00\x0e\x00\x8e\x01\x10\x00\x11\x00\x50\x01\x4a\x00\x4b\x00\x1d\x02\x92\x02\x1e\x02\x7b\x00\x07\x00\x39\x00\x3d\x00\x3a\x00\x7c\x00\x2c\x00\x08\x00\x7d\x00\x5f\x02\x7e\x00\x7f\x00\x80\x00\x81\x00\xd0\x02\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x69\x00\x43\x00\xdd\x01\x6b\x02\xde\x01\x73\x02\xdf\x01\x3e\x00\x8d\x00\xd4\x01\xd5\x01\x8e\x00\x8f\x00\xe0\x01\x1b\x02\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x07\x00\x3e\x00\x3f\x00\x43\x00\x43\x00\x78\x02\x08\x00\x43\x00\x07\x00\xd1\x02\x37\x01\x44\x00\xd4\x01\xd6\x01\x08\x00\x44\x00\x38\x01\x90\x01\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\xa5\x01\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x65\x02\x61\x00\x07\x00\x37\x01\x66\x02\xc3\x01\x43\x00\x65\x02\x08\x00\x38\x01\x3c\x01\x69\x02\x62\x00\x63\x00\x44\x00\x64\x00\x65\x00\x7b\x02\x2d\x02\xc5\x01\x65\x00\x82\x02\x73\x00\x0d\x00\x0e\x00\x7b\x00\x10\x00\x11\x00\x50\x01\xcb\x01\x7c\x00\xfa\x01\xcc\x01\x7d\x00\xc8\x02\x7e\x00\x7f\x00\x80\x00\x81\x00\xc3\x01\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xfc\x01\x2f\x02\xc5\x01\x65\x00\xfd\x01\x43\x00\xcb\x01\x3e\x00\x8d\x00\x17\x02\x18\x02\x8e\x00\x8f\x00\xd4\x01\xd7\x01\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x07\x00\x6a\xff\x43\x00\x02\x02\x43\x00\x03\x02\x08\x00\x43\x00\x07\x00\xdb\x02\x44\x00\x6a\xff\x44\x00\x6a\xff\x08\x00\x44\x00\xc2\x02\xc3\x02\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x4d\x01\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\xc3\x01\xcb\x01\x79\x01\x07\x00\xcc\x01\x79\x01\xc9\x02\x95\x01\xcb\x01\x08\x00\x96\x01\x17\x02\x1a\x02\x3b\x02\xc5\x01\x65\x00\x7b\x01\x65\x00\xcb\x01\x7b\x01\x65\x00\xcc\x01\x06\x02\x8e\x02\x07\x02\x7b\x00\xe3\x01\x10\x00\x11\x00\x5b\x00\x7c\x00\x14\x02\xda\x01\x7d\x00\xdb\x01\x7e\x00\x7f\x00\x80\x00\x81\x00\x08\x02\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xcb\x01\xcb\x01\x43\x00\xcc\x01\xcc\x01\x8f\x02\x23\x02\x3e\x00\x8d\x00\x0a\x02\x44\x00\x8e\x00\x8f\x00\xc4\x02\xc5\x02\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x07\x00\xc3\x01\x43\x00\x0b\x02\x2f\x01\x43\x00\x08\x00\x30\x01\x76\x00\xcf\x02\x44\x00\x77\x00\x1b\x02\x44\x00\xc4\x01\xc5\x01\x65\x00\x4f\x02\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x51\x02\x24\x00\x6f\x00\xa0\x01\x07\x00\xd8\x01\xd9\x01\xda\x01\xc3\x01\xdb\x01\x08\x00\xc3\x01\x67\x00\x52\x01\x70\x00\x53\x01\x71\x00\x54\x01\x88\x02\x89\x02\x9b\x01\xc6\x01\xc5\x01\x65\x00\xc7\x01\xc5\x01\x65\x00\x74\x00\x10\x00\x11\x00\x5b\x00\x42\x02\xb0\x02\x7b\x00\x9d\x01\x37\x02\x38\x02\x39\x02\x7c\x00\x3a\x02\xa3\x01\x7d\x00\xa8\x01\x7e\x00\x7f\x00\x80\x00\x81\x00\xaf\x01\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xb3\x01\x58\x00\x43\x00\x59\x00\xb7\x01\x5a\x00\xbf\x01\x3e\x00\x8d\x00\xe4\x01\x44\x00\x8e\x00\x8f\x00\x8b\x02\x89\x02\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x07\x00\xc3\x01\x43\x00\xe5\x01\x43\x00\x07\x00\x08\x00\xbb\x01\x6f\x02\xba\x01\x44\x00\x08\x00\x44\x00\xe7\x01\xc8\x01\xc5\x01\x65\x00\xe8\x01\x79\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x16\x02\x5a\x00\x10\x00\x11\x00\x5b\x00\xe9\x01\x07\x00\xdd\x01\xc3\x01\xde\x01\x79\x01\xdf\x01\x08\x00\x42\x02\xb1\x02\x7a\x01\x2f\x00\x5b\x01\xe0\x01\x42\x02\x60\x02\xc9\x01\xc5\x01\x65\x00\x7b\x01\x65\x00\x4f\x01\x0d\x00\x0e\x00\xea\x01\x10\x00\x11\x00\x50\x01\x7b\x00\x42\x02\x63\x02\x07\x00\xeb\x01\x7c\x00\xec\x01\x33\x00\x7d\x00\x08\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\xed\x01\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xf8\x01\x10\x00\x11\x00\x4b\x01\xbb\x01\x70\x02\xf2\x01\x3e\x00\x8d\x00\xbb\x01\x71\x02\x8e\x00\x8f\x00\xbb\x01\x72\x02\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5e\x02\x33\x02\x34\x02\x35\x02\xb1\x01\x18\x00\x43\x00\x0e\x02\x0f\x02\x54\x01\xa7\x00\xa8\x00\xa9\x00\xa4\xfe\x44\x00\x11\x02\x12\x02\x20\x02\x21\x02\xaa\x00\xab\x00\xac\x00\xad\x00\x99\x02\x9a\x02\x9b\x02\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x1a\x00\x1b\x00\x43\x00\xb6\x00\xb7\x00\x61\x00\x3c\x02\x3d\x02\xbb\x01\x3f\x02\x44\x00\xb2\x02\x32\x02\x33\x02\x34\x02\x35\x02\xf5\x01\x5e\x01\x24\x01\x64\x00\x65\x00\x26\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xb8\x00\x23\x00\xd1\x01\xd2\x01\xb9\x00\x27\x01\x54\x00\x61\x00\x6d\x00\x16\x00\x26\x00\x27\x00\x28\x01\x28\x00\x29\x01\xd3\x01\x5d\x00\xd4\x01\x5e\x00\x61\x01\x5f\x00\x64\x00\x65\x00\xb2\x01\x2c\x00\xba\x00\x2a\x01\x2c\x00\x2d\x00\x2b\x01\x2e\x00\xb1\x01\x18\x00\x43\x00\x42\x02\x43\x02\x2c\x01\xa7\x00\xa8\x00\xa9\x00\xa4\xfe\x44\x00\x2e\x00\x04\x00\x07\x00\x2d\x01\xaa\x00\xab\x00\xac\x00\xad\x00\x08\x00\x2c\x00\x2d\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x1a\x00\x1b\x00\x30\x01\xb6\x00\xb7\x00\x79\x01\x31\x01\x10\x00\x11\x00\x52\x00\x81\x01\x9f\x02\x32\x02\x33\x02\x34\x02\x35\x02\x48\x01\x49\x01\x32\x01\x7b\x01\x65\x00\x35\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xb8\x00\x23\x00\x2c\x00\x2d\x00\xb9\x00\x36\x01\x54\x00\x40\x01\x3e\x01\x41\x01\x26\x00\x27\x00\x43\x01\x28\x00\x46\x01\x49\x01\x5d\x00\x82\x01\x5e\x00\x89\x01\x5f\x00\x8a\x01\x5f\x00\xb2\x01\x60\x00\xba\x00\x18\x00\x2c\x00\x2d\x00\x4f\x00\x2e\x00\xa7\x00\xa8\x00\xa9\x00\x6b\x00\x58\x00\xba\x00\x78\x01\x04\x00\x79\x01\xaa\x00\xab\x00\xac\x00\xad\x00\x05\x00\xae\x02\x2c\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x1a\x00\x1b\x00\xcf\x02\xb6\x00\xb7\x00\xa2\x02\x32\x02\x33\x02\x34\x02\x35\x02\x54\x02\x32\x02\x33\x02\x34\x02\x35\x02\x31\x02\x32\x02\x33\x02\x34\x02\x35\x02\x2c\x00\xb5\x02\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xb8\x00\x23\x00\xb6\x02\xb7\x02\xb9\x00\x2c\x00\x54\x00\x9c\x02\xb9\x02\xbc\x02\x26\x00\x27\x00\x9d\x02\x28\x00\xbb\x02\x68\x02\x5d\x00\xcc\x02\x5e\x00\x2c\x00\x5f\x00\x6d\x02\xce\x02\x5b\xfe\x9f\x02\xba\x00\x8b\x02\x2c\x00\x2d\x00\x88\x02\x2e\x00\x5b\xfe\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\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\x18\x00\x2c\x00\xe0\x01\xe0\x01\x8d\x02\xa7\x00\xa8\x00\xa9\x00\xe0\x01\x92\x02\x94\x02\x57\x02\x45\x02\x58\x02\xaa\x00\xab\x00\xac\x00\xad\x00\x99\x02\x5b\x02\x2c\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x1a\x00\x1b\x00\x5c\x02\xb6\x00\xb7\x00\x5d\x02\x5e\x02\x45\x02\x7a\x02\x68\x02\x6d\x02\x2c\x00\x75\x02\x7b\x02\x7d\x02\xb5\x01\x7e\x02\x0e\x02\x26\x01\xe0\x01\xe0\x01\x23\x02\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xb8\x00\x23\x00\x80\x02\xfa\x01\xb9\x00\x81\x02\x54\x00\x82\x02\x84\x02\x85\x02\x26\x00\x27\x00\x86\x02\x28\x00\x87\x02\xfc\x01\x5d\x00\x18\x00\x5e\x00\xfa\x01\x5f\x00\xe7\x01\xa7\x00\xa8\x00\xa9\x00\xba\x00\xfa\x01\x2c\x00\x2d\x00\xff\x01\x2e\x00\xaa\x00\xab\x00\xac\x00\xad\x00\x05\x02\x00\x02\x06\x02\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x1a\x00\x1b\x00\x01\x02\xb6\x00\xb7\x00\x02\x02\xfa\x01\x0a\x02\x2f\x02\x14\x02\x3f\x02\x2c\x00\x45\x02\x2c\x00\x49\x02\x2c\xff\x2d\xff\x29\xff\x27\xff\x28\xff\x18\x00\x9f\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xb8\x00\x23\x00\xa0\x01\xa2\x01\xb9\x00\xa3\x01\x54\x00\xa5\x01\xaa\x01\x19\x00\x26\x00\x27\x00\xac\x01\x28\x00\xad\x01\xae\x01\x5d\x00\x2c\x00\x5e\x00\xb5\x01\x5f\x00\x1a\x00\x1b\x00\x1c\x00\x2c\x00\xba\x00\xe3\x01\x2c\x00\x2d\x00\x4b\x01\x2e\x00\xe7\x01\xef\x01\xf0\x01\xf1\x01\xf2\x01\x26\x01\xf4\x01\x6d\x00\xe7\x01\x34\x01\xf5\x01\xe7\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xfa\x01\x23\x00\x2c\x00\x2c\x00\xbd\x02\x24\x00\x25\x00\x18\x00\x43\x01\x40\x01\x26\x00\x27\x00\x6d\x00\x28\x00\x77\x00\x4b\x01\x29\x00\x56\x01\x2a\x00\x39\x00\x2b\x00\x3a\x00\x2c\x00\x5b\x01\x19\x00\x60\x01\x63\x01\x2c\x00\x2d\x00\x07\x00\x2e\x00\x64\x01\x65\x01\x80\x01\x6d\x00\x08\x00\x1a\x00\x1b\x00\x1c\x00\x84\x01\x85\x01\x3a\x00\x86\x01\x87\x01\x88\x01\x8e\x01\xff\xff\x2c\x00\x89\x01\x5d\x01\x0d\x00\x0e\x00\x8c\x01\x10\x00\x11\x00\x50\x01\x8d\x01\x72\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x6a\x01\x23\x00\x6d\x00\x78\x00\x31\x02\x24\x00\x25\x00\x18\x00\xff\xff\x79\x00\x26\x00\x27\x00\x07\x00\x28\x00\xff\xff\x00\x00\x29\x00\x00\x00\x2a\x00\x39\x00\x2b\x00\x3a\x00\x00\x00\x00\x00\x19\x00\x00\x00\x07\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x0d\x00\x0e\x00\x6c\x01\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x4b\x02\x4c\x02\x4d\x02\x24\x00\x25\x00\x41\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x42\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x39\x00\x2b\x00\x3a\x00\x00\x00\x00\x00\x19\x00\x00\x00\x07\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x0d\x00\x0e\x00\x6c\x01\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x4b\x02\x4c\x02\x4e\x02\x24\x00\x25\x00\x00\x00\x00\x00\x19\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x29\x00\x43\x00\x2a\x00\x00\x00\x2b\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x18\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x29\x00\x07\x00\x2a\x00\x19\x00\x2b\x00\x35\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x3a\x00\x2e\x00\x1a\x00\x1b\x00\x1c\x00\x3b\x00\x0a\x00\x0b\x00\x3c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x18\x00\x6a\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x19\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x29\x00\x43\x00\x2a\x00\x00\x00\x2b\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x18\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x29\x00\x07\x00\x2a\x00\x19\x00\x2b\x00\x35\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x3a\x00\x2e\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x5d\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x67\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x19\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x29\x00\x43\x00\x2a\x00\x00\x00\x2b\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x18\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x29\x00\x07\x00\x2a\x00\x19\x00\x2b\x00\x35\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1a\x00\x1b\x00\x1c\x00\x58\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x18\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x19\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x1a\x00\x1b\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x41\x00\x54\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x42\x00\x28\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x39\x00\x5f\x00\x3a\x00\x19\x00\x07\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x08\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x01\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x7a\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x19\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x5d\x00\x95\x01\x5e\x00\x00\x00\x5f\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x19\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x1a\x00\x1b\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x41\x00\x54\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x42\x00\x28\x00\x00\x00\x00\x00\x5d\x00\x07\x00\x5e\x00\x39\x00\x5f\x00\x3a\x00\x19\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x73\x00\x0d\x00\x0e\x00\x74\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x19\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x5d\x00\x73\x01\x5e\x00\x00\x00\x5f\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x19\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x1a\x00\x1b\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x19\x00\x26\x00\x27\x00\x5d\xff\x28\x00\x00\x00\x5d\xff\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x19\x00\x00\x00\x00\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x1a\x00\x1b\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x41\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x42\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x5d\x00\x07\x00\x5e\x00\x19\x00\x5f\x00\x93\x01\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1a\x00\x1b\x00\x00\x00\x64\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x18\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x19\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x1a\x00\x1b\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x18\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x00\x00\x00\x00\x5d\x00\x07\x00\x5e\x00\x19\x00\x5f\x00\x71\x01\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1a\x00\x1b\x00\x00\x00\x68\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x19\x00\x00\x00\x00\x00\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x28\x00\x1a\x00\x1b\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x1a\x00\x1b\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x67\x00\x5d\x00\x68\x00\xa2\x02\x69\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x19\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x00\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x1a\x00\x1b\x00\x00\x00\x7d\x01\x5d\x00\x7e\x01\x5e\x00\x7f\x01\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x1a\x00\x1b\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x67\x00\x5d\x00\x68\x00\xc3\x01\x69\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x19\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x00\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x1a\x00\x1b\x00\x00\x00\x67\x00\x5d\x00\x68\x00\x5e\x00\xcb\x01\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x1a\x00\x1b\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x5d\x00\x7e\x01\x5e\x00\x7f\x01\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x19\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x00\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x1a\x00\x1b\x00\x00\x00\x67\x00\x5d\x00\x68\x00\x5e\x00\x69\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x1a\x00\x1b\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x7d\x01\x55\x00\x7e\x01\x56\x00\x7f\x01\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x19\x00\x23\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x54\x00\x00\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x1a\x00\x1b\x00\x00\x00\x50\x00\x5d\x00\x51\x00\x5e\x00\x52\x00\x5f\x00\x00\x00\x00\x00\x07\x00\x00\x00\x93\x01\x2c\x00\x2c\x00\x2d\x00\x08\x00\x2e\x00\x00\x00\x00\x00\x5c\x01\x30\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x54\x00\x10\x00\x11\x00\x50\x01\x26\x00\x27\x00\x00\x00\x07\x00\x00\x00\x00\x00\x5d\x00\x37\x00\x5e\x00\x08\x00\x6b\x00\x00\x00\x00\x00\x2f\x00\x5b\x01\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x6b\x01\x0d\x00\x0e\x00\x6c\x01\x10\x00\x11\x00\x12\x00\x07\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x08\x00\x33\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x6d\x01\x6e\x01\x00\x00\x6f\x01\x36\x00\x0a\x00\x0b\x00\x32\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x69\x01\x07\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x00\x0a\x00\x0b\x00\x32\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x07\x00\x13\x00\x14\x00\x15\x00\x16\x00\x37\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x0a\x00\x0b\x00\x32\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x07\x00\x13\x00\x14\x00\x15\x00\x16\x00\x68\x01\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x0a\x00\x0b\x00\x32\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x24\x02\x13\x00\x14\x00\x15\x00\x16\x00\x33\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\xaa\x01\x58\x01\x59\x01\x07\x00\x00\x00\x71\x01\x00\x00\x33\x00\x00\x00\x08\x00\x07\x00\x00\x00\x00\x00\x5c\x01\x30\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x97\x01\x30\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x37\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x08\x00\x07\x00\x00\x00\x00\x00\x98\x01\x30\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x99\x01\x30\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x66\x01\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x01\x08\x00\x07\x00\x00\x00\x00\x00\x9a\x01\x30\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x69\x01\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x01\x08\x00\x07\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x69\x01\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x08\x00\x07\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x5b\x01\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x37\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x08\x00\x07\x00\x00\x00\x00\x00\x5c\x01\x30\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x37\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x08\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x0d\x00\x0e\x00\x00\x00\x10\x00\x11\x00\x50\x01\x07\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x08\x00\x66\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x02\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x07\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x10\xff\x10\xff\x00\x00\x4d\x00\x4e\x00\x10\xff\x00\x00\x10\xff\x4f\x00\x00\x00\x2a\xff\x10\xff\x00\x00\x10\xff\x7d\x01\x10\xff\x7e\x01\x00\x00\x7f\x01\x4d\x00\x4e\x00\x00\x00\x10\xff\x00\x00\x4f\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (3, 421) [ (3 , happyReduce_3), (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) ] happy_n_terms = 90 :: Int happy_n_nonterms = 140 :: Int happyReduce_3 = happySpecReduce_1 0# happyReduction_3 happyReduction_3 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> happyIn6 (reverse happy_var_1 )} happyReduce_4 = happySpecReduce_2 1# happyReduction_4 happyReduction_4 happy_x_2 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> case happyOut8 happy_x_2 of { happy_var_2 -> happyIn7 (happy_var_2 : happy_var_1 )}} happyReduce_5 = happySpecReduce_0 1# happyReduction_5 happyReduction_5 = happyIn7 ([] ) happyReduce_6 = happySpecReduce_1 2# happyReduction_6 happyReduction_6 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> happyIn8 (TokKeyword KwLet happy_var_1 )} happyReduce_7 = happySpecReduce_1 2# happyReduction_7 happyReduction_7 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwIn happy_var_1) -> happyIn8 (TokKeyword KwIn happy_var_1 )} happyReduce_8 = happySpecReduce_1 2# happyReduction_8 happyReduction_8 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwWhere happy_var_1) -> happyIn8 (TokKeyword KwWhere happy_var_1 )} happyReduce_9 = happySpecReduce_1 2# happyReduction_9 happyReduction_9 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwWith happy_var_1) -> happyIn8 (TokKeyword KwWith happy_var_1 )} happyReduce_10 = happySpecReduce_1 2# happyReduction_10 happyReduction_10 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRewrite happy_var_1) -> happyIn8 (TokKeyword KwRewrite happy_var_1 )} happyReduce_11 = happySpecReduce_1 2# happyReduction_11 happyReduction_11 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> happyIn8 (TokKeyword KwPostulate happy_var_1 )} happyReduce_12 = happySpecReduce_1 2# happyReduction_12 happyReduction_12 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> happyIn8 (TokKeyword KwPrimitive happy_var_1 )} happyReduce_13 = happySpecReduce_1 2# happyReduction_13 happyReduction_13 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> happyIn8 (TokKeyword KwOpen happy_var_1 )} happyReduce_14 = happySpecReduce_1 2# happyReduction_14 happyReduction_14 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwImport happy_var_1) -> happyIn8 (TokKeyword KwImport happy_var_1 )} happyReduce_15 = happySpecReduce_1 2# happyReduction_15 happyReduction_15 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> happyIn8 (TokKeyword KwUsing happy_var_1 )} happyReduce_16 = happySpecReduce_1 2# happyReduction_16 happyReduction_16 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> happyIn8 (TokKeyword KwHiding happy_var_1 )} happyReduce_17 = happySpecReduce_1 2# happyReduction_17 happyReduction_17 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> happyIn8 (TokKeyword KwRenaming happy_var_1 )} happyReduce_18 = happySpecReduce_1 2# happyReduction_18 happyReduction_18 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwTo happy_var_1) -> happyIn8 (TokKeyword KwTo happy_var_1 )} happyReduce_19 = happySpecReduce_1 2# happyReduction_19 happyReduction_19 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPublic happy_var_1) -> happyIn8 (TokKeyword KwPublic happy_var_1 )} happyReduce_20 = happySpecReduce_1 2# happyReduction_20 happyReduction_20 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> happyIn8 (TokKeyword KwModule happy_var_1 )} happyReduce_21 = happySpecReduce_1 2# happyReduction_21 happyReduction_21 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwData happy_var_1) -> happyIn8 (TokKeyword KwData happy_var_1 )} happyReduce_22 = happySpecReduce_1 2# happyReduction_22 happyReduction_22 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCoData happy_var_1) -> happyIn8 (TokKeyword KwCoData happy_var_1 )} happyReduce_23 = happySpecReduce_1 2# happyReduction_23 happyReduction_23 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> happyIn8 (TokKeyword KwRecord happy_var_1 )} happyReduce_24 = happySpecReduce_1 2# happyReduction_24 happyReduction_24 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwConstructor happy_var_1) -> happyIn8 (TokKeyword KwConstructor happy_var_1 )} happyReduce_25 = happySpecReduce_1 2# happyReduction_25 happyReduction_25 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInductive happy_var_1) -> happyIn8 (TokKeyword KwInductive happy_var_1 )} happyReduce_26 = happySpecReduce_1 2# happyReduction_26 happyReduction_26 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCoInductive happy_var_1) -> happyIn8 (TokKeyword KwCoInductive happy_var_1 )} happyReduce_27 = happySpecReduce_1 2# happyReduction_27 happyReduction_27 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwField happy_var_1) -> happyIn8 (TokKeyword KwField happy_var_1 )} happyReduce_28 = happySpecReduce_1 2# happyReduction_28 happyReduction_28 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> happyIn8 (TokKeyword KwInfix happy_var_1 )} happyReduce_29 = happySpecReduce_1 2# happyReduction_29 happyReduction_29 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> happyIn8 (TokKeyword KwInfixL happy_var_1 )} happyReduce_30 = happySpecReduce_1 2# happyReduction_30 happyReduction_30 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> happyIn8 (TokKeyword KwInfixR happy_var_1 )} happyReduce_31 = happySpecReduce_1 2# happyReduction_31 happyReduction_31 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> happyIn8 (TokKeyword KwMutual happy_var_1 )} happyReduce_32 = happySpecReduce_1 2# happyReduction_32 happyReduction_32 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> happyIn8 (TokKeyword KwAbstract happy_var_1 )} happyReduce_33 = happySpecReduce_1 2# happyReduction_33 happyReduction_33 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> happyIn8 (TokKeyword KwPrivate happy_var_1 )} happyReduce_34 = happySpecReduce_1 2# happyReduction_34 happyReduction_34 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInstance happy_var_1) -> happyIn8 (TokKeyword KwInstance happy_var_1 )} happyReduce_35 = happySpecReduce_1 2# happyReduction_35 happyReduction_35 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> happyIn8 (TokKeyword KwProp happy_var_1 )} happyReduce_36 = happySpecReduce_1 2# happyReduction_36 happyReduction_36 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> happyIn8 (TokKeyword KwSet happy_var_1 )} happyReduce_37 = happySpecReduce_1 2# happyReduction_37 happyReduction_37 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwForall happy_var_1) -> happyIn8 (TokKeyword KwForall happy_var_1 )} happyReduce_38 = happySpecReduce_1 2# happyReduction_38 happyReduction_38 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSyntax happy_var_1) -> happyIn8 (TokKeyword KwSyntax happy_var_1 )} happyReduce_39 = happySpecReduce_1 2# happyReduction_39 happyReduction_39 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPatternSyn happy_var_1) -> happyIn8 (TokKeyword KwPatternSyn happy_var_1 )} happyReduce_40 = happySpecReduce_1 2# happyReduction_40 happyReduction_40 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwOPTIONS happy_var_1) -> happyIn8 (TokKeyword KwOPTIONS happy_var_1 )} happyReduce_41 = happySpecReduce_1 2# happyReduction_41 happyReduction_41 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwBUILTIN happy_var_1) -> happyIn8 (TokKeyword KwBUILTIN happy_var_1 )} happyReduce_42 = happySpecReduce_1 2# happyReduction_42 happyReduction_42 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwREWRITE happy_var_1) -> happyIn8 (TokKeyword KwREWRITE happy_var_1 )} happyReduce_43 = happySpecReduce_1 2# happyReduction_43 happyReduction_43 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwIMPORT happy_var_1) -> happyIn8 (TokKeyword KwIMPORT happy_var_1 )} happyReduce_44 = happySpecReduce_1 2# happyReduction_44 happyReduction_44 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED happy_var_1 )} happyReduce_45 = happySpecReduce_1 2# happyReduction_45 happyReduction_45 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_EXPORT happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_EXPORT happy_var_1 )} happyReduce_46 = happySpecReduce_1 2# happyReduction_46 happyReduction_46 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_DATA happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_DATA happy_var_1 )} happyReduce_47 = happySpecReduce_1 2# happyReduction_47 happyReduction_47 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_TYPE happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_TYPE happy_var_1 )} happyReduce_48 = happySpecReduce_1 2# happyReduction_48 happyReduction_48 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_EPIC happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_EPIC happy_var_1 )} happyReduce_49 = happySpecReduce_1 2# happyReduction_49 happyReduction_49 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_JS happy_var_1) -> happyIn8 (TokKeyword KwCOMPILED_JS happy_var_1 )} happyReduce_50 = happySpecReduce_1 2# happyReduction_50 happyReduction_50 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSTATIC happy_var_1) -> happyIn8 (TokKeyword KwSTATIC happy_var_1 )} happyReduce_51 = happySpecReduce_1 2# happyReduction_51 happyReduction_51 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwIMPOSSIBLE happy_var_1) -> happyIn8 (TokKeyword KwIMPOSSIBLE happy_var_1 )} happyReduce_52 = happySpecReduce_1 2# happyReduction_52 happyReduction_52 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwETA happy_var_1) -> happyIn8 (TokKeyword KwETA happy_var_1 )} happyReduce_53 = happySpecReduce_1 2# happyReduction_53 happyReduction_53 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwNO_TERMINATION_CHECK happy_var_1) -> happyIn8 (TokKeyword KwNO_TERMINATION_CHECK happy_var_1 )} happyReduce_54 = happySpecReduce_1 2# happyReduction_54 happyReduction_54 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwNON_TERMINATING happy_var_1) -> happyIn8 (TokKeyword KwNON_TERMINATING happy_var_1 )} happyReduce_55 = happySpecReduce_1 2# happyReduction_55 happyReduction_55 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwTERMINATING happy_var_1) -> happyIn8 (TokKeyword KwTERMINATING happy_var_1 )} happyReduce_56 = happySpecReduce_1 2# happyReduction_56 happyReduction_56 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwMEASURE happy_var_1) -> happyIn8 (TokKeyword KwMEASURE happy_var_1 )} happyReduce_57 = happySpecReduce_1 2# happyReduction_57 happyReduction_57 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> happyIn8 (TokKeyword KwQuoteGoal happy_var_1 )} happyReduce_58 = happySpecReduce_1 2# happyReduction_58 happyReduction_58 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteContext happy_var_1) -> happyIn8 (TokKeyword KwQuoteContext happy_var_1 )} happyReduce_59 = happySpecReduce_1 2# happyReduction_59 happyReduction_59 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> happyIn8 (TokKeyword KwQuote happy_var_1 )} happyReduce_60 = happySpecReduce_1 2# happyReduction_60 happyReduction_60 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteTerm happy_var_1) -> happyIn8 (TokKeyword KwQuoteTerm happy_var_1 )} happyReduce_61 = happySpecReduce_1 2# happyReduction_61 happyReduction_61 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwTactic happy_var_1) -> happyIn8 (TokKeyword KwTactic happy_var_1 )} happyReduce_62 = happySpecReduce_1 2# happyReduction_62 happyReduction_62 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUnquote happy_var_1) -> happyIn8 (TokKeyword KwUnquote happy_var_1 )} happyReduce_63 = happySpecReduce_1 2# happyReduction_63 happyReduction_63 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUnquoteDecl happy_var_1) -> happyIn8 (TokKeyword KwUnquoteDecl happy_var_1 )} happyReduce_64 = happySpecReduce_1 2# happyReduction_64 happyReduction_64 happy_x_1 = case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> happyIn8 (TokSetN happy_var_1 )} happyReduce_65 = happySpecReduce_1 2# happyReduction_65 happyReduction_65 happy_x_1 = case happyOutTok happy_x_1 of { (TokTeX happy_var_1) -> happyIn8 (TokTeX happy_var_1 )} happyReduce_66 = happySpecReduce_1 2# happyReduction_66 happyReduction_66 happy_x_1 = case happyOutTok happy_x_1 of { (TokComment happy_var_1) -> happyIn8 (TokComment happy_var_1 )} happyReduce_67 = happySpecReduce_1 2# happyReduction_67 happyReduction_67 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> happyIn8 (TokSymbol SymEllipsis happy_var_1 )} happyReduce_68 = happySpecReduce_1 2# happyReduction_68 happyReduction_68 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDotDot happy_var_1) -> happyIn8 (TokSymbol SymDotDot happy_var_1 )} happyReduce_69 = happySpecReduce_1 2# happyReduction_69 happyReduction_69 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> happyIn8 (TokSymbol SymDot happy_var_1 )} happyReduce_70 = happySpecReduce_1 2# happyReduction_70 happyReduction_70 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> happyIn8 (TokSymbol SymSemi happy_var_1 )} happyReduce_71 = happySpecReduce_1 2# happyReduction_71 happyReduction_71 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymColon happy_var_1) -> happyIn8 (TokSymbol SymColon happy_var_1 )} happyReduce_72 = happySpecReduce_1 2# happyReduction_72 happyReduction_72 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymEqual happy_var_1) -> happyIn8 (TokSymbol SymEqual happy_var_1 )} happyReduce_73 = happySpecReduce_1 2# happyReduction_73 happyReduction_73 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn8 (TokSymbol SymUnderscore happy_var_1 )} happyReduce_74 = happySpecReduce_1 2# happyReduction_74 happyReduction_74 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> happyIn8 (TokSymbol SymQuestionMark happy_var_1 )} happyReduce_75 = happySpecReduce_1 2# happyReduction_75 happyReduction_75 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymArrow happy_var_1) -> happyIn8 (TokSymbol SymArrow happy_var_1 )} happyReduce_76 = happySpecReduce_1 2# happyReduction_76 happyReduction_76 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> happyIn8 (TokSymbol SymLambda happy_var_1 )} happyReduce_77 = happySpecReduce_1 2# happyReduction_77 happyReduction_77 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymAs happy_var_1) -> happyIn8 (TokSymbol SymAs happy_var_1 )} happyReduce_78 = happySpecReduce_1 2# happyReduction_78 happyReduction_78 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymBar happy_var_1) -> happyIn8 (TokSymbol SymBar happy_var_1 )} happyReduce_79 = happySpecReduce_1 2# happyReduction_79 happyReduction_79 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> happyIn8 (TokSymbol SymOpenParen happy_var_1 )} happyReduce_80 = happySpecReduce_1 2# happyReduction_80 happyReduction_80 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymCloseParen happy_var_1) -> happyIn8 (TokSymbol SymCloseParen happy_var_1 )} happyReduce_81 = happySpecReduce_1 2# happyReduction_81 happyReduction_81 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> happyIn8 (TokSymbol SymDoubleOpenBrace happy_var_1 )} happyReduce_82 = happySpecReduce_1 2# happyReduction_82 happyReduction_82 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleCloseBrace happy_var_1) -> happyIn8 (TokSymbol SymDoubleCloseBrace happy_var_1 )} happyReduce_83 = happySpecReduce_1 2# happyReduction_83 happyReduction_83 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> happyIn8 (TokSymbol SymOpenBrace happy_var_1 )} happyReduce_84 = happySpecReduce_1 2# happyReduction_84 happyReduction_84 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymCloseBrace happy_var_1) -> happyIn8 (TokSymbol SymCloseBrace happy_var_1 )} happyReduce_85 = happySpecReduce_1 2# happyReduction_85 happyReduction_85 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenVirtualBrace happy_var_1) -> happyIn8 (TokSymbol SymOpenVirtualBrace happy_var_1 )} happyReduce_86 = happySpecReduce_1 2# happyReduction_86 happyReduction_86 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymCloseVirtualBrace happy_var_1) -> happyIn8 (TokSymbol SymCloseVirtualBrace happy_var_1 )} happyReduce_87 = happySpecReduce_1 2# happyReduction_87 happyReduction_87 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymVirtualSemi happy_var_1) -> happyIn8 (TokSymbol SymVirtualSemi happy_var_1 )} happyReduce_88 = happySpecReduce_1 2# happyReduction_88 happyReduction_88 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> happyIn8 (TokSymbol SymOpenPragma happy_var_1 )} happyReduce_89 = happySpecReduce_1 2# happyReduction_89 happyReduction_89 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymClosePragma happy_var_1) -> happyIn8 (TokSymbol SymClosePragma happy_var_1 )} happyReduce_90 = happySpecReduce_1 2# happyReduction_90 happyReduction_90 happy_x_1 = case happyOutTok happy_x_1 of { (TokId happy_var_1) -> happyIn8 (TokId happy_var_1 )} happyReduce_91 = happySpecReduce_1 2# happyReduction_91 happyReduction_91 happy_x_1 = case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> happyIn8 (TokQId happy_var_1 )} happyReduce_92 = happySpecReduce_1 2# happyReduction_92 happyReduction_92 happy_x_1 = case happyOutTok happy_x_1 of { (TokString happy_var_1) -> happyIn8 (TokString happy_var_1 )} happyReduce_93 = happySpecReduce_1 2# happyReduction_93 happyReduction_93 happy_x_1 = case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> happyIn8 (TokLiteral happy_var_1 )} happyReduce_94 = happySpecReduce_3 3# happyReduction_94 happyReduction_94 happy_x_3 happy_x_2 happy_x_1 = case happyOut115 happy_x_2 of { happy_var_2 -> happyIn9 (takeOptionsPragmas happy_var_2 )} happyReduce_95 = happySpecReduce_0 4# happyReduction_95 happyReduction_95 = happyIn10 (() ) happyReduce_96 = happySpecReduce_1 4# happyReduction_96 happyReduction_96 happy_x_1 = happyIn10 (() ) happyReduce_97 = happySpecReduce_1 5# happyReduction_97 happyReduction_97 happy_x_1 = happyIn11 (() ) happyReduce_98 = happyMonadReduce 1# 5# happyReduction_98 happyReduction_98 (happy_x_1 `HappyStk` happyRest) tk = happyThen (( popContext) ) (\r -> happyReturn (happyIn11 r)) happyReduce_99 = happySpecReduce_1 6# happyReduction_99 happyReduction_99 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> happyIn12 (happy_var_1 )} happyReduce_100 = happySpecReduce_1 6# happyReduction_100 happyReduction_100 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymVirtualSemi happy_var_1) -> happyIn12 (happy_var_1 )} happyReduce_101 = happyMonadReduce 0# 7# happyReduction_101 happyReduction_101 (happyRest) tk = happyThen (( pushLexState imp_dir) ) (\r -> happyReturn (happyIn13 r)) happyReduce_102 = happyMonadReduce 1# 8# happyReduction_102 happyReduction_102 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> ( case happy_var_1 of { LitInt _ i -> return i; _ -> fail $ "Expected integer" })} ) (\r -> happyReturn (happyIn14 r)) happyReduce_103 = happyMonadReduce 1# 8# happyReduction_103 happyReduction_103 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> ( case happy_var_1 of { (_, s) -> case readM s of { Right i -> return i; Left (err :: String) -> fail $ "Expected integer" } })} ) (\r -> happyReturn (happyIn14 r)) happyReduce_104 = happyMonadReduce 1# 9# happyReduction_104 happyReduction_104 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> ( mkName happy_var_1)} ) (\r -> happyReturn (happyIn15 r)) happyReduce_105 = happySpecReduce_2 10# happyReduction_105 happyReduction_105 happy_x_2 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> case happyOut16 happy_x_2 of { happy_var_2 -> happyIn16 (happy_var_1 : happy_var_2 )}} happyReduce_106 = happySpecReduce_1 10# happyReduction_106 happyReduction_106 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn16 ([happy_var_1] )} happyReduce_107 = happySpecReduce_1 11# happyReduction_107 happyReduction_107 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleCloseBrace happy_var_1) -> happyIn17 (getRange happy_var_1 )} happyReduce_108 = happyMonadReduce 2# 11# happyReduction_108 happyReduction_108 (happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokSymbol SymCloseBrace happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymCloseBrace happy_var_2) -> ( if posPos (fromJust (rEnd (getRange happy_var_2))) - posPos (fromJust (rStart (getRange happy_var_1))) > 2 then parseErrorAt (fromJust (rStart (getRange happy_var_2))) "Expecting '}}', found separated '}'s." else return $ getRange (happy_var_1, happy_var_2))}} ) (\r -> happyReturn (happyIn17 r)) happyReduce_109 = happySpecReduce_2 12# happyReduction_109 happyReduction_109 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn18 (setRelevance Irrelevant $ defaultArg happy_var_2 )} happyReduce_110 = happySpecReduce_1 12# happyReduction_110 happyReduction_110 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn18 (defaultArg happy_var_1 )} happyReduce_111 = happySpecReduce_2 13# happyReduction_111 happyReduction_111 happy_x_2 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> case happyOut19 happy_x_2 of { happy_var_2 -> happyIn19 (happy_var_1 : happy_var_2 )}} happyReduce_112 = happySpecReduce_1 13# happyReduction_112 happyReduction_112 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> happyIn19 ([happy_var_1] )} happyReduce_113 = happySpecReduce_2 14# happyReduction_113 happyReduction_113 happy_x_2 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> case happyOut20 happy_x_2 of { happy_var_2 -> happyIn20 (happy_var_1 : happy_var_2 )}} happyReduce_114 = happySpecReduce_1 14# happyReduction_114 happyReduction_114 happy_x_1 = case happyOut18 happy_x_1 of { happy_var_1 -> happyIn20 ([happy_var_1] )} happyReduce_115 = happyReduce 4# 14# happyReduction_115 happyReduction_115 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut19 happy_x_2 of { happy_var_2 -> case happyOut20 happy_x_4 of { happy_var_4 -> happyIn20 (map makeInstance happy_var_2 ++ happy_var_4 ) `HappyStk` happyRest}} happyReduce_116 = happySpecReduce_3 14# happyReduction_116 happyReduction_116 happy_x_3 happy_x_2 happy_x_1 = case happyOut19 happy_x_2 of { happy_var_2 -> happyIn20 (map makeInstance happy_var_2 )} happyReduce_117 = happyReduce 4# 14# happyReduction_117 happyReduction_117 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut19 happy_x_2 of { happy_var_2 -> case happyOut20 happy_x_4 of { happy_var_4 -> happyIn20 (map hide happy_var_2 ++ happy_var_4 ) `HappyStk` happyRest}} happyReduce_118 = happySpecReduce_3 14# happyReduction_118 happyReduction_118 happy_x_3 happy_x_2 happy_x_1 = case happyOut19 happy_x_2 of { happy_var_2 -> happyIn20 (map hide happy_var_2 )} happyReduce_119 = happyReduce 5# 14# happyReduction_119 happyReduction_119 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (hide . setRelevance Irrelevant . defaultArg) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_120 = happyReduce 4# 14# happyReduction_120 happyReduction_120 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (hide . setRelevance Irrelevant . defaultArg) happy_var_3 ) `HappyStk` happyRest} happyReduce_121 = happyReduce 5# 14# happyReduction_121 happyReduction_121 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (makeInstance . setRelevance Irrelevant . defaultArg) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_122 = happyReduce 4# 14# happyReduction_122 happyReduction_122 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (makeInstance . setRelevance Irrelevant . defaultArg) happy_var_3 ) `HappyStk` happyRest} happyReduce_123 = happyReduce 5# 14# happyReduction_123 happyReduction_123 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (hide . setRelevance NonStrict . defaultArg) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_124 = happyReduce 4# 14# happyReduction_124 happyReduction_124 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (hide . setRelevance NonStrict . defaultArg) happy_var_3 ) `HappyStk` happyRest} happyReduce_125 = happyReduce 5# 14# happyReduction_125 happyReduction_125 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> case happyOut20 happy_x_5 of { happy_var_5 -> happyIn20 (map (makeInstance . setRelevance NonStrict . defaultArg) happy_var_3 ++ happy_var_5 ) `HappyStk` happyRest}} happyReduce_126 = happyReduce 4# 14# happyReduction_126 happyReduction_126 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut16 happy_x_3 of { happy_var_3 -> happyIn20 (map (makeInstance . setRelevance NonStrict . defaultArg) happy_var_3 ) `HappyStk` happyRest} happyReduce_127 = happyMonadReduce 1# 15# happyReduction_127 happyReduction_127 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> ( mkQName happy_var_1)} ) (\r -> happyReturn (happyIn21 r)) happyReduce_128 = happySpecReduce_1 15# happyReduction_128 happyReduction_128 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn21 (QName happy_var_1 )} happyReduce_129 = happySpecReduce_1 16# happyReduction_129 happyReduction_129 happy_x_1 = case happyOut21 happy_x_1 of { happy_var_1 -> happyIn22 (happy_var_1 )} happyReduce_130 = happySpecReduce_1 17# happyReduction_130 happyReduction_130 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn23 (happy_var_1 )} happyReduce_131 = happySpecReduce_1 17# happyReduction_131 happyReduction_131 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn23 (Name (getRange happy_var_1) [Hole] )} happyReduce_132 = happySpecReduce_2 18# happyReduction_132 happyReduction_132 happy_x_2 happy_x_1 = case happyOut23 happy_x_1 of { happy_var_1 -> case happyOut24 happy_x_2 of { happy_var_2 -> happyIn24 (happy_var_1 : happy_var_2 )}} happyReduce_133 = happySpecReduce_1 18# happyReduction_133 happyReduction_133 happy_x_1 = case happyOut23 happy_x_1 of { happy_var_1 -> happyIn24 ([happy_var_1] )} happyReduce_134 = happySpecReduce_1 19# happyReduction_134 happyReduction_134 happy_x_1 = case happyOut26 happy_x_1 of { happy_var_1 -> happyIn25 (case happy_var_1 of Left ns -> ns Right _ -> fail $ "expected sequence of bound identifiers, not absurd pattern" )} happyReduce_135 = happyMonadReduce 1# 20# happyReduction_135 happyReduction_135 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut35 happy_x_1 of { happy_var_1 -> ( let getName :: Expr -> Maybe Name getName (Ident (QName x)) = Just x getName (Underscore r _) = Just (Name r [Hole]) getName _ = Nothing isAbsurd :: Expr -> Bool isAbsurd (Absurd _) = True isAbsurd (HiddenArg _ (Named _ e)) = isAbsurd e isAbsurd (InstanceArg _ (Named _ e)) = isAbsurd e isAbsurd (Paren _ expr) = isAbsurd expr isAbsurd (RawApp _ exprs) = any isAbsurd exprs isAbsurd _ = False in if any isAbsurd happy_var_1 then return $ Right happy_var_1 else case mapM getName happy_var_1 of Just good -> return $ Left good Nothing -> fail $ "expected sequence of bound identifiers")} ) (\r -> happyReturn (happyIn26 r)) happyReduce_136 = happyMonadReduce 1# 21# happyReduction_136 happyReduction_136 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut35 happy_x_1 of { happy_var_1 -> ( let -- interpret an expression as name getName :: Expr -> Maybe Name getName (Ident (QName x)) = Just x getName (Underscore r _) = Just (Name r [Hole]) getName _ = Nothing getNames :: Expr -> Maybe [Name] getNames (RawApp _ es) = mapM getName es getNames e = singleton `fmap` getName e -- interpret an expression as name or list of hidden names getName1 :: Expr -> Maybe [WithHiding Name] getName1 (Ident (QName x)) = Just [WithHiding NotHidden x] getName1 (Underscore r _) = Just [WithHiding NotHidden $ Name r [Hole]] getName1 (HiddenArg _ (Named Nothing e)) = map (WithHiding Hidden) `fmap` getNames e getName1 _ = Nothing in case mapM getName1 happy_var_1 of Just good -> return $ concat good Nothing -> fail $ "expected sequence of possibly hidden bound identifiers")} ) (\r -> happyReturn (happyIn27 r)) happyReduce_137 = happySpecReduce_0 22# happyReduction_137 happyReduction_137 = happyIn28 ([] ) happyReduce_138 = happySpecReduce_2 22# happyReduction_138 happyReduction_138 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokString happy_var_1) -> case happyOut28 happy_x_2 of { happy_var_2 -> happyIn28 (snd happy_var_1 : happy_var_2 )}} happyReduce_139 = happySpecReduce_1 23# happyReduction_139 happyReduction_139 happy_x_1 = case happyOutTok happy_x_1 of { (TokString happy_var_1) -> happyIn29 (snd happy_var_1 )} happyReduce_140 = happyMonadReduce 1# 24# happyReduction_140 happyReduction_140 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokString happy_var_1) -> ( mkName happy_var_1)} ) (\r -> happyReturn (happyIn30 r)) happyReduce_141 = happyMonadReduce 1# 25# happyReduction_141 happyReduction_141 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokString happy_var_1) -> ( fmap QName (mkName happy_var_1))} ) (\r -> happyReturn (happyIn31 r)) happyReduce_142 = happySpecReduce_2 26# happyReduction_142 happyReduction_142 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> case happyOut32 happy_x_2 of { happy_var_2 -> happyIn32 (Pi happy_var_1 happy_var_2 )}} happyReduce_143 = happySpecReduce_3 26# happyReduction_143 happyReduction_143 happy_x_3 happy_x_2 happy_x_1 = case happyOut59 happy_x_2 of { happy_var_2 -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn32 (forallPi happy_var_2 happy_var_3 )}} happyReduce_144 = happySpecReduce_3 26# happyReduction_144 happyReduction_144 happy_x_3 happy_x_2 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymArrow happy_var_2) -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn32 (Fun (getRange (happy_var_1,happy_var_2,happy_var_3)) (RawApp (getRange happy_var_1) happy_var_1) happy_var_3 )}}} happyReduce_145 = happySpecReduce_3 26# happyReduction_145 happyReduction_145 happy_x_3 happy_x_2 happy_x_1 = case happyOut33 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymEqual happy_var_2) -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn32 (Equal (getRange (happy_var_1, happy_var_2, happy_var_3)) happy_var_1 happy_var_3 )}}} happyReduce_146 = happySpecReduce_1 26# happyReduction_146 happyReduction_146 happy_x_1 = case happyOut33 happy_x_1 of { happy_var_1 -> happyIn32 (happy_var_1 )} happyReduce_147 = happyMonadReduce 1# 27# happyReduction_147 happyReduction_147 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut34 happy_x_1 of { happy_var_1 -> ( case happy_var_1 of { [e] -> return e ; e : es -> return $ WithApp (fuseRange e es) e es ; [] -> fail "impossible: empty with expressions" })} ) (\r -> happyReturn (happyIn33 r)) happyReduce_148 = happySpecReduce_3 28# happyReduction_148 happyReduction_148 happy_x_3 happy_x_2 happy_x_1 = case happyOut38 happy_x_1 of { happy_var_1 -> case happyOut34 happy_x_3 of { happy_var_3 -> happyIn34 (RawApp (getRange happy_var_1) happy_var_1 : happy_var_3 )}} happyReduce_149 = happySpecReduce_1 28# happyReduction_149 happyReduction_149 happy_x_1 = case happyOut35 happy_x_1 of { happy_var_1 -> happyIn34 ([RawApp (getRange happy_var_1) happy_var_1] )} happyReduce_150 = happySpecReduce_1 29# happyReduction_150 happyReduction_150 happy_x_1 = case happyOut36 happy_x_1 of { happy_var_1 -> happyIn35 ([happy_var_1] )} happyReduce_151 = happySpecReduce_2 29# happyReduction_151 happyReduction_151 happy_x_2 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> case happyOut35 happy_x_2 of { happy_var_2 -> happyIn35 (happy_var_1 : happy_var_2 )}} happyReduce_152 = happySpecReduce_3 30# happyReduction_152 happyReduction_152 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> case happyOut51 happy_x_2 of { happy_var_2 -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn36 (Lam (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_2 happy_var_3 )}}} happyReduce_153 = happySpecReduce_1 30# happyReduction_153 happyReduction_153 happy_x_1 = case happyOut37 happy_x_1 of { happy_var_1 -> happyIn36 (happy_var_1 )} happyReduce_154 = happyReduce 4# 30# happyReduction_154 happyReduction_154 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> case happyOut142 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokKeyword KwIn happy_var_3) -> case happyOut32 happy_x_4 of { happy_var_4 -> happyIn36 (Let (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_155 = happySpecReduce_1 30# happyReduction_155 happyReduction_155 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> happyIn36 (happy_var_1 )} happyReduce_156 = happyReduce 4# 30# happyReduction_156 happyReduction_156 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokKeyword KwIn happy_var_3) -> case happyOut32 happy_x_4 of { happy_var_4 -> happyIn36 (QuoteGoal (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_157 = happyReduce 4# 30# happyReduction_157 happyReduction_157 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteContext happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokKeyword KwIn happy_var_3) -> case happyOut32 happy_x_4 of { happy_var_4 -> happyIn36 (QuoteContext (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_158 = happySpecReduce_2 30# happyReduction_158 happyReduction_158 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwTactic happy_var_1) -> case happyOut38 happy_x_2 of { happy_var_2 -> happyIn36 (Tactic (getRange (happy_var_1, happy_var_2)) (RawApp (getRange happy_var_2) happy_var_2) [] )}} happyReduce_159 = happyReduce 4# 30# happyReduction_159 happyReduction_159 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwTactic happy_var_1) -> case happyOut38 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymBar happy_var_3) -> case happyOut34 happy_x_4 of { happy_var_4 -> happyIn36 (Tactic (getRange (happy_var_1, happy_var_2, happy_var_3, happy_var_4)) (RawApp (getRange happy_var_2) happy_var_2) happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_160 = happyReduce 4# 31# happyReduction_160 happyReduction_160 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut58 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn37 (ExtendedLam (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) (reverse happy_var_3) ) `HappyStk` happyRest}}}} happyReduce_161 = happyMonadReduce 2# 31# happyReduction_161 happyReduction_161 (happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> case happyOut52 happy_x_2 of { happy_var_2 -> ( case happy_var_2 of Left (bs, h) -> if null bs then return $ AbsurdLam r h else return $ Lam r bs (AbsurdLam r h) where r = fuseRange happy_var_1 bs Right es -> do -- it is of the form @\ { p1 ... () }@ p <- exprToLHS (RawApp (getRange es) es); return $ ExtendedLam (fuseRange happy_var_1 es) [(p [] [], AbsurdRHS, NoWhere)])}} ) (\r -> happyReturn (happyIn37 r)) happyReduce_162 = happySpecReduce_1 32# happyReduction_162 happyReduction_162 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> happyIn38 ([happy_var_1] )} happyReduce_163 = happySpecReduce_2 32# happyReduction_163 happyReduction_163 happy_x_2 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> case happyOut38 happy_x_2 of { happy_var_2 -> happyIn38 (happy_var_1 : happy_var_2 )}} happyReduce_164 = happySpecReduce_3 33# happyReduction_164 happyReduction_164 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> case happyOut32 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> happyIn39 (HiddenArg (getRange (happy_var_1,happy_var_2,happy_var_3)) (maybeNamed happy_var_2) )}}} happyReduce_165 = happySpecReduce_2 33# happyReduction_165 happyReduction_165 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymCloseBrace happy_var_2) -> happyIn39 (let r = fuseRange happy_var_1 happy_var_2 in HiddenArg r $ unnamed $ Absurd r )}} happyReduce_166 = happySpecReduce_1 34# happyReduction_166 happyReduction_166 happy_x_1 = case happyOut21 happy_x_1 of { happy_var_1 -> happyIn40 (Ident happy_var_1 )} happyReduce_167 = happySpecReduce_1 34# happyReduction_167 happyReduction_167 happy_x_1 = case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> happyIn40 (Lit happy_var_1 )} happyReduce_168 = happySpecReduce_1 34# happyReduction_168 happyReduction_168 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> happyIn40 (QuestionMark (getRange happy_var_1) Nothing )} happyReduce_169 = happySpecReduce_1 34# happyReduction_169 happyReduction_169 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn40 (Underscore (getRange happy_var_1) Nothing )} happyReduce_170 = happySpecReduce_1 34# happyReduction_170 happyReduction_170 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> happyIn40 (Prop (getRange happy_var_1) )} happyReduce_171 = happySpecReduce_1 34# happyReduction_171 happyReduction_171 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> happyIn40 (Set (getRange happy_var_1) )} happyReduce_172 = happySpecReduce_1 34# happyReduction_172 happyReduction_172 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> happyIn40 (Quote (getRange happy_var_1) )} happyReduce_173 = happySpecReduce_1 34# happyReduction_173 happyReduction_173 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteTerm happy_var_1) -> happyIn40 (QuoteTerm (getRange happy_var_1) )} happyReduce_174 = happySpecReduce_1 34# happyReduction_174 happyReduction_174 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwUnquote happy_var_1) -> happyIn40 (Unquote (getRange happy_var_1) )} happyReduce_175 = happySpecReduce_1 34# happyReduction_175 happyReduction_175 happy_x_1 = case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> happyIn40 (SetN (getRange (fst happy_var_1)) (snd happy_var_1) )} happyReduce_176 = happySpecReduce_3 34# happyReduction_176 happyReduction_176 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut32 happy_x_2 of { happy_var_2 -> case happyOut17 happy_x_3 of { happy_var_3 -> happyIn40 (InstanceArg (getRange (happy_var_1,happy_var_2,happy_var_3)) (maybeNamed happy_var_2) )}}} happyReduce_177 = happySpecReduce_3 34# happyReduction_177 happyReduction_177 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOut32 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> happyIn40 (Paren (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_2 )}}} happyReduce_178 = happySpecReduce_2 34# happyReduction_178 happyReduction_178 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymCloseParen happy_var_2) -> happyIn40 (Absurd (fuseRange happy_var_1 happy_var_2) )}} happyReduce_179 = happySpecReduce_2 34# happyReduction_179 happyReduction_179 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut17 happy_x_2 of { happy_var_2 -> happyIn40 (let r = fuseRange happy_var_1 happy_var_2 in InstanceArg r $ unnamed $ Absurd r )}} happyReduce_180 = happySpecReduce_3 34# happyReduction_180 happyReduction_180 happy_x_3 happy_x_2 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymAs happy_var_2) -> case happyOut41 happy_x_3 of { happy_var_3 -> happyIn40 (As (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_1 happy_var_3 )}}} happyReduce_181 = happySpecReduce_2 34# happyReduction_181 happyReduction_181 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> case happyOut41 happy_x_2 of { happy_var_2 -> happyIn40 (Dot (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_182 = happyReduce 4# 34# happyReduction_182 happyReduction_182 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut42 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn40 (Rec (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_183 = happyReduce 5# 34# happyReduction_183 happyReduction_183 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut40 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymOpenBrace happy_var_3) -> case happyOut42 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymCloseBrace happy_var_5) -> happyIn40 (RecUpdate (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}}}} happyReduce_184 = happySpecReduce_1 35# happyReduction_184 happyReduction_184 happy_x_1 = case happyOut39 happy_x_1 of { happy_var_1 -> happyIn41 (happy_var_1 )} happyReduce_185 = happySpecReduce_1 35# happyReduction_185 happyReduction_185 happy_x_1 = case happyOut40 happy_x_1 of { happy_var_1 -> happyIn41 (happy_var_1 )} happyReduce_186 = happySpecReduce_0 36# happyReduction_186 happyReduction_186 = happyIn42 ([] ) happyReduce_187 = happySpecReduce_1 36# happyReduction_187 happyReduction_187 happy_x_1 = case happyOut43 happy_x_1 of { happy_var_1 -> happyIn42 (happy_var_1 )} happyReduce_188 = happySpecReduce_1 37# happyReduction_188 happyReduction_188 happy_x_1 = case happyOut44 happy_x_1 of { happy_var_1 -> happyIn43 ([happy_var_1] )} happyReduce_189 = happySpecReduce_3 37# happyReduction_189 happyReduction_189 happy_x_3 happy_x_2 happy_x_1 = case happyOut44 happy_x_1 of { happy_var_1 -> case happyOut43 happy_x_3 of { happy_var_3 -> happyIn43 (happy_var_1 : happy_var_3 )}} happyReduce_190 = happySpecReduce_3 38# happyReduction_190 happyReduction_190 happy_x_3 happy_x_2 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn44 ((happy_var_1, happy_var_3) )}} happyReduce_191 = happySpecReduce_2 39# happyReduction_191 happyReduction_191 happy_x_2 happy_x_1 = case happyOut46 happy_x_1 of { happy_var_1 -> happyIn45 (happy_var_1 )} happyReduce_192 = happySpecReduce_1 40# happyReduction_192 happyReduction_192 happy_x_1 = case happyOut47 happy_x_1 of { happy_var_1 -> happyIn46 ({-TeleBind-} happy_var_1 )} happyReduce_193 = happySpecReduce_2 41# happyReduction_193 happyReduction_193 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> case happyOut47 happy_x_2 of { happy_var_2 -> happyIn47 (happy_var_1 : happy_var_2 )}} happyReduce_194 = happySpecReduce_1 41# happyReduction_194 happyReduction_194 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn47 ([happy_var_1] )} happyReduce_195 = happyReduce 4# 42# happyReduction_195 happyReduction_195 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut50 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn48 (setRange (getRange (happy_var_2,happy_var_3,happy_var_4)) $ setRelevance Irrelevant happy_var_3 ) `HappyStk` happyRest}}} happyReduce_196 = happyReduce 4# 42# 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_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut49 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn48 (setRange (getRange (happy_var_2,happy_var_3,happy_var_4)) $ setHiding Hidden $ setRelevance Irrelevant happy_var_3 ) `HappyStk` happyRest}}} happyReduce_197 = happyReduce 4# 42# happyReduction_197 happyReduction_197 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymDoubleOpenBrace happy_var_2) -> case happyOut49 happy_x_3 of { happy_var_3 -> case happyOut17 happy_x_4 of { happy_var_4 -> happyIn48 (setRange (getRange (happy_var_2,happy_var_3,happy_var_4)) $ setHiding Instance $ setRelevance Irrelevant happy_var_3 ) `HappyStk` happyRest}}} happyReduce_198 = happyReduce 4# 42# happyReduction_198 happyReduction_198 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut50 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn48 (setRange (getRange (happy_var_2,happy_var_3,happy_var_4)) $ setRelevance NonStrict happy_var_3 ) `HappyStk` happyRest}}} happyReduce_199 = happyReduce 4# 42# happyReduction_199 happyReduction_199 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymOpenBrace happy_var_2) -> case happyOut49 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> happyIn48 (setRange (getRange (happy_var_2,happy_var_3,happy_var_4)) $ setHiding Hidden $ setRelevance NonStrict happy_var_3 ) `HappyStk` happyRest}}} happyReduce_200 = happyReduce 4# 42# happyReduction_200 happyReduction_200 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_2 of { (TokSymbol SymDoubleOpenBrace happy_var_2) -> case happyOut49 happy_x_3 of { happy_var_3 -> case happyOut17 happy_x_4 of { happy_var_4 -> happyIn48 (setRange (getRange (happy_var_2,happy_var_3,happy_var_4)) $ setHiding Instance $ setRelevance NonStrict happy_var_3 ) `HappyStk` happyRest}}} happyReduce_201 = happySpecReduce_3 42# happyReduction_201 happyReduction_201 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOut50 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> happyIn48 (setRange (getRange (happy_var_1,happy_var_2,happy_var_3)) happy_var_2 )}}} happyReduce_202 = happySpecReduce_3 42# happyReduction_202 happyReduction_202 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymDoubleOpenBrace happy_var_1) -> case happyOut49 happy_x_2 of { happy_var_2 -> case happyOut17 happy_x_3 of { happy_var_3 -> happyIn48 (setRange (getRange (happy_var_1,happy_var_2,happy_var_3)) $ setHiding Instance happy_var_2 )}}} happyReduce_203 = happySpecReduce_3 42# happyReduction_203 happyReduction_203 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> case happyOut49 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> happyIn48 (setRange (getRange (happy_var_1,happy_var_2,happy_var_3)) $ setHiding Hidden happy_var_2 )}}} happyReduce_204 = happySpecReduce_3 42# happyReduction_204 happyReduction_204 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> case happyOut109 happy_x_2 of { happy_var_2 -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> happyIn48 (tLet (getRange (happy_var_1,happy_var_3)) happy_var_2 )}}} happyReduce_205 = happyReduce 4# 42# 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 { (TokSymbol SymOpenParen happy_var_1) -> case happyOut142 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn48 (tLet (getRange (happy_var_1,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}} happyReduce_206 = happySpecReduce_3 43# happyReduction_206 happyReduction_206 happy_x_3 happy_x_2 happy_x_1 = case happyOut25 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymColon happy_var_2) -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn49 (let r = getRange (happy_var_1,happy_var_2,happy_var_3) -- the range is approximate only for TypedBindings in TypedBindings r $ defaultArg $ TBind r (map (pure . mkBoundName_) happy_var_1) happy_var_3 )}}} happyReduce_207 = happySpecReduce_3 44# happyReduction_207 happyReduction_207 happy_x_3 happy_x_2 happy_x_1 = case happyOut27 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymColon happy_var_2) -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn50 (let r = getRange (happy_var_1,happy_var_2,happy_var_3) -- the range is approximate only for TypedBindings in TypedBindings r $ defaultArg $ TBind r (map (fmap mkBoundName_) happy_var_1) happy_var_3 )}}} happyReduce_208 = happyMonadReduce 2# 45# happyReduction_208 happyReduction_208 (happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut53 happy_x_1 of { happy_var_1 -> ( case reverse happy_var_1 of Left _ : _ -> parseError "Absurd lambda cannot have a body." _ : _ -> return [ b | Right b <- happy_var_1 ] [] -> parsePanic "Empty LamBinds")} ) (\r -> happyReturn (happyIn51 r)) happyReduce_209 = happyMonadReduce 1# 46# happyReduction_209 happyReduction_209 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut54 happy_x_1 of { happy_var_1 -> ( case happy_var_1 of Left lb -> case reverse lb of Right _ : _ -> parseError "Missing body for lambda" Left h : _ -> return $ Left ([ b | Right b <- init lb], h) _ -> parseError "Unsupported variant of lambda" Right es -> return $ Right es)} ) (\r -> happyReturn (happyIn52 r)) happyReduce_210 = happySpecReduce_2 47# happyReduction_210 happyReduction_210 happy_x_2 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> case happyOut53 happy_x_2 of { happy_var_2 -> happyIn53 (map Right happy_var_1 ++ happy_var_2 )}} happyReduce_211 = happySpecReduce_2 47# happyReduction_211 happyReduction_211 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> case happyOut53 happy_x_2 of { happy_var_2 -> happyIn53 (Right (DomainFull happy_var_1) : happy_var_2 )}} happyReduce_212 = happySpecReduce_1 47# happyReduction_212 happyReduction_212 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> happyIn53 (map Right happy_var_1 )} happyReduce_213 = happySpecReduce_1 47# happyReduction_213 happyReduction_213 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn53 ([Right $ DomainFull happy_var_1] )} happyReduce_214 = happySpecReduce_2 47# happyReduction_214 happyReduction_214 happy_x_2 happy_x_1 = happyIn53 ([Left NotHidden] ) happyReduce_215 = happySpecReduce_2 47# happyReduction_215 happyReduction_215 happy_x_2 happy_x_1 = happyIn53 ([Left Hidden] ) happyReduce_216 = happySpecReduce_2 47# happyReduction_216 happyReduction_216 happy_x_2 happy_x_1 = happyIn53 ([Left Instance] ) happyReduce_217 = happySpecReduce_2 48# happyReduction_217 happyReduction_217 happy_x_2 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> case happyOut53 happy_x_2 of { happy_var_2 -> happyIn54 (Left $ map Right happy_var_1 ++ happy_var_2 )}} happyReduce_218 = happySpecReduce_2 48# happyReduction_218 happyReduction_218 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> case happyOut53 happy_x_2 of { happy_var_2 -> happyIn54 (Left $ Right (DomainFull happy_var_1) : happy_var_2 )}} happyReduce_219 = happySpecReduce_1 48# happyReduction_219 happyReduction_219 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> happyIn54 (case happy_var_1 of Left lb -> Left $ map Right lb Right es -> Right es )} happyReduce_220 = happySpecReduce_1 48# happyReduction_220 happyReduction_220 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn54 (Left [Right $ DomainFull happy_var_1] )} happyReduce_221 = happySpecReduce_2 48# happyReduction_221 happyReduction_221 happy_x_2 happy_x_1 = happyIn54 (Left [Left NotHidden] ) happyReduce_222 = happySpecReduce_2 48# happyReduction_222 happyReduction_222 happy_x_2 happy_x_1 = happyIn54 (Left [Left Hidden] ) happyReduce_223 = happySpecReduce_2 48# happyReduction_223 happyReduction_223 happy_x_2 happy_x_1 = happyIn54 (Left [Left Instance] ) happyReduce_224 = happyMonadReduce 3# 49# happyReduction_224 happyReduction_224 (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 happyOut32 happy_x_3 of { happy_var_3 -> ( do p <- exprToLHS (RawApp (getRange happy_var_1) happy_var_1) ; return (p [] [], RHS happy_var_3, NoWhere))}} ) (\r -> happyReturn (happyIn55 r)) happyReduce_225 = happyMonadReduce 1# 50# happyReduction_225 happyReduction_225 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut35 happy_x_1 of { happy_var_1 -> ( do p <- exprToLHS (RawApp (getRange happy_var_1) happy_var_1); return (p [] [], AbsurdRHS, NoWhere))} ) (\r -> happyReturn (happyIn56 r)) happyReduce_226 = happySpecReduce_1 51# happyReduction_226 happyReduction_226 happy_x_1 = case happyOut55 happy_x_1 of { happy_var_1 -> happyIn57 (happy_var_1 )} happyReduce_227 = happySpecReduce_1 51# happyReduction_227 happyReduction_227 happy_x_1 = case happyOut56 happy_x_1 of { happy_var_1 -> happyIn57 (happy_var_1 )} happyReduce_228 = happySpecReduce_3 52# happyReduction_228 happyReduction_228 happy_x_3 happy_x_2 happy_x_1 = case happyOut58 happy_x_1 of { happy_var_1 -> case happyOut57 happy_x_3 of { happy_var_3 -> happyIn58 (happy_var_3 : happy_var_1 )}} happyReduce_229 = happySpecReduce_3 52# happyReduction_229 happyReduction_229 happy_x_3 happy_x_2 happy_x_1 = case happyOut56 happy_x_1 of { happy_var_1 -> case happyOut57 happy_x_3 of { happy_var_3 -> happyIn58 ([happy_var_3, happy_var_1] )}} happyReduce_230 = happySpecReduce_1 52# happyReduction_230 happyReduction_230 happy_x_1 = case happyOut55 happy_x_1 of { happy_var_1 -> happyIn58 ([happy_var_1] )} happyReduce_231 = happySpecReduce_2 53# happyReduction_231 happyReduction_231 happy_x_2 happy_x_1 = case happyOut60 happy_x_1 of { happy_var_1 -> happyIn59 (happy_var_1 )} happyReduce_232 = happySpecReduce_2 54# happyReduction_232 happyReduction_232 happy_x_2 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> case happyOut60 happy_x_2 of { happy_var_2 -> happyIn60 (happy_var_1 ++ happy_var_2 )}} happyReduce_233 = happySpecReduce_2 54# happyReduction_233 happyReduction_233 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> case happyOut60 happy_x_2 of { happy_var_2 -> happyIn60 (DomainFull happy_var_1 : happy_var_2 )}} happyReduce_234 = happySpecReduce_1 54# happyReduction_234 happyReduction_234 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> happyIn60 (happy_var_1 )} happyReduce_235 = happySpecReduce_1 54# happyReduction_235 happyReduction_235 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> happyIn60 ([DomainFull happy_var_1] )} happyReduce_236 = happySpecReduce_2 55# happyReduction_236 happyReduction_236 happy_x_2 happy_x_1 = case happyOut62 happy_x_1 of { happy_var_1 -> case happyOut61 happy_x_2 of { happy_var_2 -> happyIn61 (happy_var_1 ++ happy_var_2 )}} happyReduce_237 = happySpecReduce_2 55# happyReduction_237 happyReduction_237 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> case happyOut61 happy_x_2 of { happy_var_2 -> happyIn61 (DomainFull happy_var_1 : happy_var_2 )}} happyReduce_238 = happySpecReduce_0 55# happyReduction_238 happyReduction_238 = happyIn61 ([] ) happyReduce_239 = happySpecReduce_1 56# happyReduction_239 happyReduction_239 happy_x_1 = case happyOut63 happy_x_1 of { happy_var_1 -> happyIn62 (case happy_var_1 of Left lbs -> lbs Right _ -> fail "expected sequence of bound identifiers, not absurd pattern" )} happyReduce_240 = happySpecReduce_1 57# happyReduction_240 happyReduction_240 happy_x_1 = case happyOut23 happy_x_1 of { happy_var_1 -> happyIn63 (Left [DomainFree defaultArgInfo $ mkBoundName_ happy_var_1] )} happyReduce_241 = happySpecReduce_2 57# happyReduction_241 happyReduction_241 happy_x_2 happy_x_1 = case happyOut23 happy_x_2 of { happy_var_2 -> happyIn63 (Left [DomainFree (setRelevance Irrelevant $ defaultArgInfo) $ mkBoundName_ happy_var_2] )} happyReduce_242 = happySpecReduce_2 57# happyReduction_242 happyReduction_242 happy_x_2 happy_x_1 = case happyOut23 happy_x_2 of { happy_var_2 -> happyIn63 (Left [DomainFree (setRelevance NonStrict $ defaultArgInfo) $ mkBoundName_ happy_var_2] )} happyReduce_243 = happySpecReduce_3 57# happyReduction_243 happyReduction_243 happy_x_3 happy_x_2 happy_x_1 = case happyOut26 happy_x_2 of { happy_var_2 -> happyIn63 (either (Left . map (DomainFree (setHiding Hidden $ defaultArgInfo) . mkBoundName_)) Right happy_var_2 )} happyReduce_244 = happySpecReduce_3 57# happyReduction_244 happyReduction_244 happy_x_3 happy_x_2 happy_x_1 = case happyOut25 happy_x_2 of { happy_var_2 -> happyIn63 (Left $ map (DomainFree (setHiding Instance $ defaultArgInfo) . mkBoundName_) happy_var_2 )} happyReduce_245 = happyReduce 4# 57# happyReduction_245 happyReduction_245 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn63 (Left $ map (DomainFree (setHiding Hidden $ setRelevance Irrelevant $ defaultArgInfo) . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_246 = happyReduce 4# 57# happyReduction_246 happyReduction_246 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn63 (Left $ map (DomainFree (setHiding Instance $ setRelevance Irrelevant $ defaultArgInfo) . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_247 = happyReduce 4# 57# happyReduction_247 happyReduction_247 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn63 (Left $ map (DomainFree (setHiding Hidden $ setRelevance NonStrict $ defaultArgInfo) . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_248 = happyReduce 4# 57# happyReduction_248 happyReduction_248 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut25 happy_x_3 of { happy_var_3 -> happyIn63 (Left $ map (DomainFree (setHiding Instance $ setRelevance NonStrict $ defaultArgInfo) . mkBoundName_) happy_var_3 ) `HappyStk` happyRest} happyReduce_249 = happyMonadReduce 1# 58# happyReduction_249 happyReduction_249 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut65 happy_x_1 of { happy_var_1 -> ( mergeImportDirectives happy_var_1)} ) (\r -> happyReturn (happyIn64 r)) happyReduce_250 = happySpecReduce_2 59# happyReduction_250 happyReduction_250 happy_x_2 happy_x_1 = case happyOut66 happy_x_1 of { happy_var_1 -> case happyOut65 happy_x_2 of { happy_var_2 -> happyIn65 (happy_var_1 : happy_var_2 )}} happyReduce_251 = happySpecReduce_0 59# happyReduction_251 happyReduction_251 = happyIn65 ([] ) happyReduce_252 = happySpecReduce_1 60# happyReduction_252 happyReduction_252 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPublic happy_var_1) -> happyIn66 (defaultImportDir { importDirRange = getRange happy_var_1, publicOpen = True } )} happyReduce_253 = happySpecReduce_1 60# happyReduction_253 happyReduction_253 happy_x_1 = case happyOut67 happy_x_1 of { happy_var_1 -> happyIn66 (defaultImportDir { importDirRange = snd happy_var_1, usingOrHiding = fst happy_var_1 } )} happyReduce_254 = happySpecReduce_1 60# happyReduction_254 happyReduction_254 happy_x_1 = case happyOut68 happy_x_1 of { happy_var_1 -> happyIn66 (defaultImportDir { importDirRange = snd happy_var_1, renaming = fst happy_var_1 } )} happyReduce_255 = happyReduce 4# 61# happyReduction_255 happyReduction_255 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut73 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn67 ((Using happy_var_3 , getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) ) `HappyStk` happyRest}}}} happyReduce_256 = happyReduce 4# 61# happyReduction_256 happyReduction_256 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut73 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn67 ((Hiding happy_var_3 , getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) ) `HappyStk` happyRest}}}} happyReduce_257 = happyReduce 4# 62# happyReduction_257 happyReduction_257 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOut69 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> happyIn68 ((happy_var_3 , getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) ) `HappyStk` happyRest}}}} happyReduce_258 = happySpecReduce_3 62# happyReduction_258 happyReduction_258 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> case happyOutTok happy_x_2 of { (TokSymbol SymOpenParen happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> happyIn68 (([] , getRange (happy_var_1,happy_var_2,happy_var_3)) )}}} happyReduce_259 = happySpecReduce_3 63# happyReduction_259 happyReduction_259 happy_x_3 happy_x_2 happy_x_1 = case happyOut70 happy_x_1 of { happy_var_1 -> case happyOut69 happy_x_3 of { happy_var_3 -> happyIn69 (happy_var_1 : happy_var_3 )}} happyReduce_260 = happySpecReduce_1 63# happyReduction_260 happyReduction_260 happy_x_1 = case happyOut70 happy_x_1 of { happy_var_1 -> happyIn69 ([happy_var_1] )} happyReduce_261 = happySpecReduce_3 64# happyReduction_261 happyReduction_261 happy_x_3 happy_x_2 happy_x_1 = case happyOut71 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokKeyword KwTo happy_var_2) -> case happyOut15 happy_x_3 of { happy_var_3 -> happyIn70 (Renaming happy_var_1 happy_var_3 (getRange happy_var_2) )}}} happyReduce_262 = happySpecReduce_2 65# happyReduction_262 happyReduction_262 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn71 (ImportedName happy_var_2 )} happyReduce_263 = happySpecReduce_3 65# happyReduction_263 happyReduction_263 happy_x_3 happy_x_2 happy_x_1 = case happyOut15 happy_x_3 of { happy_var_3 -> happyIn71 (ImportedModule happy_var_3 )} happyReduce_264 = happySpecReduce_1 66# happyReduction_264 happyReduction_264 happy_x_1 = case happyOut15 happy_x_1 of { happy_var_1 -> happyIn72 (ImportedName happy_var_1 )} happyReduce_265 = happySpecReduce_2 66# happyReduction_265 happyReduction_265 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn72 (ImportedModule happy_var_2 )} happyReduce_266 = happySpecReduce_0 67# happyReduction_266 happyReduction_266 = happyIn73 ([] ) happyReduce_267 = happySpecReduce_1 67# happyReduction_267 happyReduction_267 happy_x_1 = case happyOut74 happy_x_1 of { happy_var_1 -> happyIn73 (happy_var_1 )} happyReduce_268 = happySpecReduce_1 68# happyReduction_268 happyReduction_268 happy_x_1 = case happyOut72 happy_x_1 of { happy_var_1 -> happyIn74 ([happy_var_1] )} happyReduce_269 = happySpecReduce_3 68# happyReduction_269 happyReduction_269 happy_x_3 happy_x_2 happy_x_1 = case happyOut72 happy_x_1 of { happy_var_1 -> case happyOut74 happy_x_3 of { happy_var_3 -> happyIn74 (happy_var_1 : happy_var_3 )}} happyReduce_270 = happyMonadReduce 3# 69# happyReduction_270 happyReduction_270 (happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut33 happy_x_1 of { happy_var_1 -> case happyOut78 happy_x_2 of { happy_var_2 -> case happyOut77 happy_x_3 of { happy_var_3 -> ( exprToLHS happy_var_1 >>= \p -> return (p happy_var_2 happy_var_3))}}} ) (\r -> happyReturn (happyIn75 r)) happyReduce_271 = happyReduce 4# 69# happyReduction_271 happyReduction_271 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> case happyOut76 happy_x_2 of { happy_var_2 -> case happyOut78 happy_x_3 of { happy_var_3 -> case happyOut77 happy_x_4 of { happy_var_4 -> happyIn75 (Ellipsis (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_2 happy_var_3 happy_var_4 ) `HappyStk` happyRest}}}} happyReduce_272 = happySpecReduce_0 70# happyReduction_272 happyReduction_272 = happyIn76 ([] ) happyReduce_273 = happyMonadReduce 3# 70# happyReduction_273 happyReduction_273 (happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut38 happy_x_2 of { happy_var_2 -> case happyOut76 happy_x_3 of { happy_var_3 -> ( exprToPattern (RawApp (getRange happy_var_2) happy_var_2) >>= \p -> return (p : happy_var_3))}} ) (\r -> happyReturn (happyIn76 r)) happyReduce_274 = happySpecReduce_0 71# happyReduction_274 happyReduction_274 = happyIn77 ([] ) happyReduce_275 = happySpecReduce_2 71# happyReduction_275 happyReduction_275 happy_x_2 happy_x_1 = case happyOut32 happy_x_2 of { happy_var_2 -> happyIn77 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] } )} happyReduce_276 = happySpecReduce_0 72# happyReduction_276 happyReduction_276 = happyIn78 ([] ) happyReduce_277 = happySpecReduce_2 72# happyReduction_277 happyReduction_277 happy_x_2 happy_x_1 = case happyOut33 happy_x_2 of { happy_var_2 -> happyIn78 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] } )} happyReduce_278 = happySpecReduce_0 73# happyReduction_278 happyReduction_278 = happyIn79 (NoWhere ) happyReduce_279 = happySpecReduce_2 73# happyReduction_279 happyReduction_279 happy_x_2 happy_x_1 = case happyOut143 happy_x_2 of { happy_var_2 -> happyIn79 (AnyWhere happy_var_2 )} happyReduce_280 = happyReduce 4# 73# happyReduction_280 happyReduction_280 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut143 happy_x_4 of { happy_var_4 -> happyIn79 (SomeWhere happy_var_2 happy_var_4 ) `HappyStk` happyRest}} happyReduce_281 = happyReduce 4# 73# happyReduction_281 happyReduction_281 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut114 happy_x_2 of { happy_var_2 -> case happyOut143 happy_x_4 of { happy_var_4 -> happyIn79 (SomeWhere happy_var_2 happy_var_4 ) `HappyStk` happyRest}} happyReduce_282 = happySpecReduce_1 74# happyReduction_282 happyReduction_282 happy_x_1 = case happyOut91 happy_x_1 of { happy_var_1 -> happyIn80 (happy_var_1 )} happyReduce_283 = happySpecReduce_1 74# happyReduction_283 happyReduction_283 happy_x_1 = case happyOut83 happy_x_1 of { happy_var_1 -> happyIn80 (happy_var_1 )} happyReduce_284 = happySpecReduce_1 74# happyReduction_284 happyReduction_284 happy_x_1 = case happyOut85 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_285 = happySpecReduce_1 74# happyReduction_285 happyReduction_285 happy_x_1 = case happyOut86 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_286 = happySpecReduce_1 74# happyReduction_286 happyReduction_286 happy_x_1 = case happyOut87 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_287 = happySpecReduce_1 74# happyReduction_287 happyReduction_287 happy_x_1 = case happyOut88 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_288 = happySpecReduce_1 74# happyReduction_288 happyReduction_288 happy_x_1 = case happyOut90 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_289 = happySpecReduce_1 74# happyReduction_289 happyReduction_289 happy_x_1 = case happyOut92 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_290 = happySpecReduce_1 74# happyReduction_290 happyReduction_290 happy_x_1 = case happyOut93 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_291 = happySpecReduce_1 74# happyReduction_291 happyReduction_291 happy_x_1 = case happyOut94 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_292 = happySpecReduce_1 74# happyReduction_292 happyReduction_292 happy_x_1 = case happyOut95 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_293 = happySpecReduce_1 74# happyReduction_293 happyReduction_293 happy_x_1 = case happyOut96 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_294 = happySpecReduce_1 74# happyReduction_294 happyReduction_294 happy_x_1 = case happyOut97 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_295 = happySpecReduce_1 74# happyReduction_295 happyReduction_295 happy_x_1 = case happyOut109 happy_x_1 of { happy_var_1 -> happyIn80 (happy_var_1 )} happyReduce_296 = happySpecReduce_1 74# happyReduction_296 happyReduction_296 happy_x_1 = case happyOut112 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_297 = happySpecReduce_1 74# happyReduction_297 happyReduction_297 happy_x_1 = case happyOut113 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_298 = happySpecReduce_1 74# happyReduction_298 happyReduction_298 happy_x_1 = case happyOut116 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_299 = happySpecReduce_1 74# happyReduction_299 happyReduction_299 happy_x_1 = case happyOut99 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_300 = happySpecReduce_1 74# happyReduction_300 happyReduction_300 happy_x_1 = case happyOut100 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_301 = happySpecReduce_1 74# happyReduction_301 happyReduction_301 happy_x_1 = case happyOut98 happy_x_1 of { happy_var_1 -> happyIn80 ([happy_var_1] )} happyReduce_302 = happySpecReduce_3 75# happyReduction_302 happyReduction_302 happy_x_3 happy_x_2 happy_x_1 = case happyOut16 happy_x_1 of { happy_var_1 -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn81 (map (\ x -> TypeSig defaultArgInfo x happy_var_3) happy_var_1 )}} happyReduce_303 = happySpecReduce_3 76# happyReduction_303 happyReduction_303 happy_x_3 happy_x_2 happy_x_1 = case happyOut20 happy_x_1 of { happy_var_1 -> case happyOut32 happy_x_3 of { happy_var_3 -> happyIn82 (map (fmap (\ x -> TypeSig defaultArgInfo x happy_var_3)) happy_var_1 )}} happyReduce_304 = happyMonadReduce 3# 77# happyReduction_304 happyReduction_304 (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 happyOut84 happy_x_2 of { happy_var_2 -> case happyOut79 happy_x_3 of { happy_var_3 -> ( funClauseOrTypeSigs happy_var_1 happy_var_2 happy_var_3)}}} ) (\r -> happyReturn (happyIn83 r)) happyReduce_305 = happySpecReduce_2 78# happyReduction_305 happyReduction_305 happy_x_2 happy_x_1 = case happyOut32 happy_x_2 of { happy_var_2 -> happyIn84 (JustRHS (RHS happy_var_2) )} happyReduce_306 = happySpecReduce_2 78# happyReduction_306 happyReduction_306 happy_x_2 happy_x_1 = case happyOut32 happy_x_2 of { happy_var_2 -> happyIn84 (TypeSigsRHS happy_var_2 )} happyReduce_307 = happySpecReduce_0 78# happyReduction_307 happyReduction_307 = happyIn84 (JustRHS AbsurdRHS ) happyReduce_308 = happyReduce 7# 79# happyReduction_308 happyReduction_308 (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 { (TokKeyword KwData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut32 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> case happyOut139 happy_x_7 of { happy_var_7 -> happyIn85 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5,happy_var_6,happy_var_7)) Inductive happy_var_2 happy_var_3 (Just happy_var_5) happy_var_7 ) `HappyStk` happyRest}}}}}}} happyReduce_309 = happyReduce 7# 79# happyReduction_309 happyReduction_309 (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 { (TokKeyword KwCoData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut32 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> case happyOut139 happy_x_7 of { happy_var_7 -> happyIn85 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5,happy_var_6,happy_var_7)) CoInductive happy_var_2 happy_var_3 (Just happy_var_5) happy_var_7 ) `HappyStk` happyRest}}}}}}} happyReduce_310 = happyReduce 5# 79# happyReduction_310 happyReduction_310 (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 { (TokKeyword KwData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut139 happy_x_5 of { happy_var_5 -> happyIn85 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) Inductive happy_var_2 happy_var_3 Nothing happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_311 = happyReduce 5# 79# happyReduction_311 happyReduction_311 (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 { (TokKeyword KwCoData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut139 happy_x_5 of { happy_var_5 -> happyIn85 (Data (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) CoInductive happy_var_2 happy_var_3 Nothing happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_312 = happyReduce 5# 80# happyReduction_312 happyReduction_312 (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 { (TokKeyword KwData happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut32 happy_x_5 of { happy_var_5 -> happyIn86 (DataSig (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) Inductive happy_var_2 happy_var_3 happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_313 = happyMonadReduce 7# 81# happyReduction_313 happyReduction_313 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut40 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut32 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> case happyOut140 happy_x_7 of { happy_var_7 -> ( exprToName happy_var_2 >>= \ n -> return $ Record (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5,happy_var_6,happy_var_7)) n (fst3 happy_var_7) (snd3 happy_var_7) happy_var_3 (Just happy_var_5) (thd3 happy_var_7))}}}}}}} ) (\r -> happyReturn (happyIn87 r)) happyReduce_314 = happyMonadReduce 5# 81# happyReduction_314 happyReduction_314 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut40 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut140 happy_x_5 of { happy_var_5 -> ( exprToName happy_var_2 >>= \ n -> return $ Record (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) n (fst3 happy_var_5) (snd3 happy_var_5) happy_var_3 Nothing (thd3 happy_var_5))}}}}} ) (\r -> happyReturn (happyIn87 r)) happyReduce_315 = happyMonadReduce 5# 82# happyReduction_315 happyReduction_315 (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 { (TokKeyword KwRecord happy_var_1) -> case happyOut40 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymColon happy_var_4) -> case happyOut32 happy_x_5 of { happy_var_5 -> ( exprToName happy_var_2 >>= \ n -> return $ RecordSig (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) n happy_var_3 happy_var_5)}}}}} ) (\r -> happyReturn (happyIn88 r)) happyReduce_316 = happySpecReduce_2 83# happyReduction_316 happyReduction_316 happy_x_2 happy_x_1 = case happyOut15 happy_x_2 of { happy_var_2 -> happyIn89 (happy_var_2 )} happyReduce_317 = happySpecReduce_3 84# happyReduction_317 happyReduction_317 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> case happyOut14 happy_x_2 of { happy_var_2 -> case happyOut24 happy_x_3 of { happy_var_3 -> happyIn90 (Infix (Fixity (getRange (happy_var_1,happy_var_3)) happy_var_2 NonAssoc) happy_var_3 )}}} happyReduce_318 = happySpecReduce_3 84# happyReduction_318 happyReduction_318 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> case happyOut14 happy_x_2 of { happy_var_2 -> case happyOut24 happy_x_3 of { happy_var_3 -> happyIn90 (Infix (Fixity (getRange (happy_var_1,happy_var_3)) happy_var_2 LeftAssoc) happy_var_3 )}}} happyReduce_319 = happySpecReduce_3 84# happyReduction_319 happyReduction_319 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> case happyOut14 happy_x_2 of { happy_var_2 -> case happyOut24 happy_x_3 of { happy_var_3 -> happyIn90 (Infix (Fixity (getRange (happy_var_1,happy_var_3)) happy_var_2 RightAssoc) happy_var_3 )}}} happyReduce_320 = happySpecReduce_2 85# happyReduction_320 happyReduction_320 happy_x_2 happy_x_1 = case happyOut137 happy_x_2 of { happy_var_2 -> happyIn91 (let toField (Common.Arg info (TypeSig _ x t)) = Field x (Common.Arg info t) in map toField happy_var_2 )} happyReduce_321 = happySpecReduce_2 86# happyReduction_321 happyReduction_321 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> case happyOut142 happy_x_2 of { happy_var_2 -> happyIn92 (Mutual (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_322 = happySpecReduce_2 87# happyReduction_322 happyReduction_322 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> case happyOut142 happy_x_2 of { happy_var_2 -> happyIn93 (Abstract (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_323 = happySpecReduce_2 88# happyReduction_323 happyReduction_323 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> case happyOut142 happy_x_2 of { happy_var_2 -> happyIn94 (Private (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_324 = happySpecReduce_2 89# happyReduction_324 happyReduction_324 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInstance happy_var_1) -> case happyOut142 happy_x_2 of { happy_var_2 -> happyIn95 (InstanceB (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_325 = happySpecReduce_2 90# happyReduction_325 happyReduction_325 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> case happyOut142 happy_x_2 of { happy_var_2 -> happyIn96 (Postulate (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_326 = happySpecReduce_2 91# happyReduction_326 happyReduction_326 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> case happyOut135 happy_x_2 of { happy_var_2 -> happyIn97 (Primitive (fuseRange happy_var_1 happy_var_2) happy_var_2 )}} happyReduce_327 = happyReduce 4# 92# happyReduction_327 happyReduction_327 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokKeyword KwUnquoteDecl happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut32 happy_x_4 of { happy_var_4 -> happyIn98 (UnquoteDecl (fuseRange happy_var_1 happy_var_4) happy_var_2 happy_var_4 ) `HappyStk` happyRest}}} happyReduce_328 = happyMonadReduce 5# 93# happyReduction_328 happyReduction_328 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut103 happy_x_3 of { happy_var_3 -> case happyOut102 happy_x_5 of { happy_var_5 -> ( case happy_var_2 of Name _ [_] -> case mkNotation happy_var_3 (map rangedThing happy_var_5) of Left err -> parseError $ "Malformed syntax declaration: " ++ err Right n -> return $ Syntax happy_var_2 n _ -> parseError "Syntax declarations are allowed only for simple names (without holes)")}}} ) (\r -> happyReturn (happyIn99 r)) happyReduce_329 = happyMonadReduce 5# 94# happyReduction_329 happyReduction_329 (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 { (TokKeyword KwPatternSyn happy_var_1) -> case happyOut15 happy_x_2 of { happy_var_2 -> case happyOut101 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymEqual happy_var_4) -> case happyOut32 happy_x_5 of { happy_var_5 -> ( do p <- exprToPattern happy_var_5 return (PatternSyn (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) happy_var_2 happy_var_3 p))}}}}} ) (\r -> happyReturn (happyIn100 r)) happyReduce_330 = happySpecReduce_0 95# happyReduction_330 happyReduction_330 = happyIn101 ([] ) happyReduce_331 = happyMonadReduce 1# 95# happyReduction_331 happyReduction_331 (happy_x_1 `HappyStk` happyRest) tk = happyThen (case happyOut53 happy_x_1 of { happy_var_1 -> ( patternSynArgs happy_var_1)} ) (\r -> happyReturn (happyIn101 r)) happyReduce_332 = happySpecReduce_1 96# happyReduction_332 happyReduction_332 happy_x_1 = case happyOut107 happy_x_1 of { happy_var_1 -> happyIn102 ([happy_var_1] )} happyReduce_333 = happySpecReduce_2 96# happyReduction_333 happyReduction_333 happy_x_2 happy_x_1 = case happyOut102 happy_x_1 of { happy_var_1 -> case happyOut107 happy_x_2 of { happy_var_2 -> happyIn102 (happy_var_1 ++ [happy_var_2] )}} happyReduce_334 = happySpecReduce_1 97# happyReduction_334 happyReduction_334 happy_x_1 = case happyOut104 happy_x_1 of { happy_var_1 -> happyIn103 ([happy_var_1] )} happyReduce_335 = happySpecReduce_2 97# happyReduction_335 happyReduction_335 happy_x_2 happy_x_1 = case happyOut103 happy_x_1 of { happy_var_1 -> case happyOut104 happy_x_2 of { happy_var_2 -> happyIn103 (happy_var_1 ++ [happy_var_2] )}} happyReduce_336 = happySpecReduce_1 98# happyReduction_336 happyReduction_336 happy_x_1 = case happyOut105 happy_x_1 of { happy_var_1 -> happyIn104 (defaultNamedArg happy_var_1 )} happyReduce_337 = happySpecReduce_3 98# happyReduction_337 happyReduction_337 happy_x_3 happy_x_2 happy_x_1 = case happyOut106 happy_x_2 of { happy_var_2 -> happyIn104 (setHiding Hidden $ defaultNamedArg happy_var_2 )} happyReduce_338 = happySpecReduce_3 98# happyReduction_338 happyReduction_338 happy_x_3 happy_x_2 happy_x_1 = case happyOut106 happy_x_2 of { happy_var_2 -> happyIn104 (setHiding Instance $ defaultNamedArg happy_var_2 )} happyReduce_339 = happyReduce 5# 98# happyReduction_339 happyReduction_339 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut107 happy_x_2 of { happy_var_2 -> case happyOut106 happy_x_4 of { happy_var_4 -> happyIn104 (setHiding Hidden $ defaultArg $ named happy_var_2 happy_var_4 ) `HappyStk` happyRest}} happyReduce_340 = happyReduce 5# 98# happyReduction_340 happyReduction_340 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut107 happy_x_2 of { happy_var_2 -> case happyOut106 happy_x_4 of { happy_var_4 -> happyIn104 (setHiding Instance $ defaultArg $ named happy_var_2 happy_var_4 ) `HappyStk` happyRest}} happyReduce_341 = happySpecReduce_1 99# happyReduction_341 happyReduction_341 happy_x_1 = case happyOut107 happy_x_1 of { happy_var_1 -> happyIn105 (ExprHole (rangedThing happy_var_1) )} happyReduce_342 = happyReduce 6# 99# happyReduction_342 happyReduction_342 (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 happyOut107 happy_x_3 of { happy_var_3 -> case happyOut107 happy_x_5 of { happy_var_5 -> happyIn105 (LambdaHole (rangedThing happy_var_3) (rangedThing happy_var_5) ) `HappyStk` happyRest}} happyReduce_343 = happySpecReduce_1 100# happyReduction_343 happyReduction_343 happy_x_1 = case happyOut107 happy_x_1 of { happy_var_1 -> happyIn106 (ExprHole (rangedThing happy_var_1) )} happyReduce_344 = happyReduce 4# 100# happyReduction_344 happyReduction_344 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut107 happy_x_2 of { happy_var_2 -> case happyOut107 happy_x_4 of { happy_var_4 -> happyIn106 (LambdaHole (rangedThing happy_var_2) (rangedThing happy_var_4) ) `HappyStk` happyRest}} happyReduce_345 = happySpecReduce_1 101# happyReduction_345 happyReduction_345 happy_x_1 = case happyOutTok happy_x_1 of { (TokId happy_var_1) -> happyIn107 (Ranged (getRange $ fst happy_var_1) (stringToRawName $ snd happy_var_1) )} happyReduce_346 = happySpecReduce_1 102# happyReduction_346 happyReduction_346 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> happyIn108 (Just (getRange happy_var_1) )} happyReduce_347 = happySpecReduce_0 102# happyReduction_347 happyReduction_347 = happyIn108 (Nothing ) happyReduce_348 = happyMonadReduce 5# 103# happyReduction_348 happyReduction_348 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` 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 happyOutTok happy_x_2 of { (TokKeyword KwImport happy_var_2) -> case happyOut22 happy_x_3 of { happy_var_3 -> case happyOut110 happy_x_4 of { happy_var_4 -> case happyOut64 happy_x_5 of { happy_var_5 -> ( let { doOpen = maybe DontOpen (const DoOpen) happy_var_1 ; m = happy_var_3 ; es = happy_var_4 ; dir = happy_var_5 ; r = getRange (m, es, dir) ; mr = getRange m ; unique = hashString $ show $ (Nothing :: Maybe ()) <$ r -- turn range into unique id, but delete file path -- which is absolute and messes up suite of failing tests -- (different hashs on different installations) -- TODO: Don't use (insecure) hashes in this way. ; fresh = Name mr [ Id $ stringToRawName $ ".#" ++ show m ++ "-" ++ show unique ] ; impStm asR = Import mr m (Just (AsName fresh asR)) DontOpen defaultImportDir ; appStm m' es = let r = getRange (m, es) in Private r [ ModuleMacro r m' (SectionApp (getRange es) [] (RawApp (getRange es) (Ident (QName fresh) : es))) doOpen dir ] ; (initArgs, last2Args) = splitAt (length es - 2) es ; parseAsClause = case last2Args of { [ Ident (QName (Name asR [Id x])) , Ident (QName m') ] | rawNameToString x == "as" -> Just (asR, m') ; _ -> Nothing } } in case es of { [] -> return [Import mr m Nothing doOpen dir] ; _ | Just (asR, m') <- parseAsClause -> if null initArgs then return [ Import (getRange (m, asR, m', dir)) m (Just (AsName m' asR)) doOpen dir ] else return [ impStm asR, appStm m' initArgs ] | DontOpen <- doOpen -> parseErrorAt (fromJust $ rStart $ getRange happy_var_2) "An import statement with module instantiation does not actually import the module. This statement achieves nothing. Either add the `open' keyword or bind the instantiated module with an `as' clause." | otherwise -> return [ impStm noRange , appStm (noName $ beginningOf $ getRange m) es ] })}}}}} ) (\r -> happyReturn (happyIn109 r)) happyReduce_349 = happyReduce 4# 103# happyReduction_349 happyReduction_349 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut22 happy_x_2 of { happy_var_2 -> case happyOut110 happy_x_3 of { happy_var_3 -> case happyOut64 happy_x_4 of { happy_var_4 -> happyIn109 (let { m = happy_var_2 ; es = happy_var_3 ; dir = happy_var_4 ; r = getRange (m, es, dir) } in [ case es of { [] -> Open r m dir ; _ -> Private r [ ModuleMacro r (noName $ beginningOf $ getRange m) (SectionApp (getRange (m , es)) [] (RawApp (fuseRange m es) (Ident m : es))) DoOpen dir ] } ] ) `HappyStk` happyRest}}} happyReduce_350 = happyReduce 6# 103# 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) = case happyOut22 happy_x_2 of { happy_var_2 -> case happyOut64 happy_x_6 of { happy_var_6 -> happyIn109 (let r = getRange happy_var_2 in [ Private r [ ModuleMacro r (noName $ beginningOf $ getRange happy_var_2) (RecordModuleIFS r happy_var_2) DoOpen happy_var_6 ] ] ) `HappyStk` happyRest}} happyReduce_351 = happySpecReduce_0 104# happyReduction_351 happyReduction_351 = happyIn110 ([] ) happyReduce_352 = happySpecReduce_2 104# happyReduction_352 happyReduction_352 happy_x_2 happy_x_1 = case happyOut41 happy_x_1 of { happy_var_1 -> case happyOut110 happy_x_2 of { happy_var_2 -> happyIn110 (happy_var_1 : happy_var_2 )}} happyReduce_353 = happyReduce 4# 105# happyReduction_353 happyReduction_353 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut22 happy_x_1 of { happy_var_1 -> case happyOutTok happy_x_2 of { (TokSymbol SymDoubleOpenBrace happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymEllipsis happy_var_3) -> case happyOut17 happy_x_4 of { happy_var_4 -> happyIn111 ((\ts -> if null ts then return $ RecordModuleIFS (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_1 else parseError "No bindings allowed for record module with non-canonical implicits" ) ) `HappyStk` happyRest}}}} happyReduce_354 = happySpecReduce_2 105# happyReduction_354 happyReduction_354 happy_x_2 happy_x_1 = case happyOut22 happy_x_1 of { happy_var_1 -> case happyOut110 happy_x_2 of { happy_var_2 -> happyIn111 ((\ts -> return $ SectionApp (getRange (happy_var_1, happy_var_2)) ts (RawApp (fuseRange happy_var_1 happy_var_2) (Ident happy_var_1 : happy_var_2)) ) )}} happyReduce_355 = happyMonadReduce 6# 106# happyReduction_355 happyReduction_355 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut22 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOut111 happy_x_5 of { happy_var_5 -> case happyOut64 happy_x_6 of { happy_var_6 -> ( do { ma <- happy_var_5 (map addType happy_var_3) ; name <- ensureUnqual happy_var_2 ; return $ ModuleMacro (getRange (happy_var_1, happy_var_2, ma, happy_var_6)) name ma DontOpen happy_var_6 })}}}}} ) (\r -> happyReturn (happyIn112 r)) happyReduce_356 = happyMonadReduce 7# 106# happyReduction_356 happyReduction_356 (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 { (TokKeyword KwOpen happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwModule happy_var_2) -> case happyOut15 happy_x_3 of { happy_var_3 -> case happyOut61 happy_x_4 of { happy_var_4 -> case happyOut111 happy_x_6 of { happy_var_6 -> case happyOut64 happy_x_7 of { happy_var_7 -> ( do {ma <- happy_var_6 (map addType happy_var_4); return $ ModuleMacro (getRange (happy_var_1, happy_var_2, happy_var_3, ma, happy_var_7)) happy_var_3 ma DoOpen happy_var_7 })}}}}}} ) (\r -> happyReturn (happyIn112 r)) happyReduce_357 = happyReduce 5# 107# happyReduction_357 happyReduction_357 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut22 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut143 happy_x_5 of { happy_var_5 -> happyIn113 (Module (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) happy_var_2 (map addType happy_var_3) happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_358 = happyReduce 5# 107# happyReduction_358 happyReduction_358 (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 { (TokKeyword KwModule happy_var_1) -> case happyOut114 happy_x_2 of { happy_var_2 -> case happyOut61 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> case happyOut143 happy_x_5 of { happy_var_5 -> happyIn113 (Module (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) (QName happy_var_2) (map addType happy_var_3) happy_var_5 ) `HappyStk` happyRest}}}}} happyReduce_359 = happySpecReduce_1 108# happyReduction_359 happyReduction_359 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> happyIn114 (noName (getRange happy_var_1) )} happyReduce_360 = happySpecReduce_1 109# happyReduction_360 happyReduction_360 happy_x_1 = case happyOut145 happy_x_1 of { happy_var_1 -> happyIn115 (figureOutTopLevelModule happy_var_1 )} happyReduce_361 = happySpecReduce_1 110# happyReduction_361 happyReduction_361 happy_x_1 = case happyOut117 happy_x_1 of { happy_var_1 -> happyIn116 (Pragma happy_var_1 )} happyReduce_362 = happySpecReduce_1 111# happyReduction_362 happyReduction_362 happy_x_1 = case happyOut119 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_363 = happySpecReduce_1 111# happyReduction_363 happyReduction_363 happy_x_1 = case happyOut120 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_364 = happySpecReduce_1 111# happyReduction_364 happyReduction_364 happy_x_1 = case happyOut121 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_365 = happySpecReduce_1 111# happyReduction_365 happyReduction_365 happy_x_1 = case happyOut122 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_366 = happySpecReduce_1 111# happyReduction_366 happyReduction_366 happy_x_1 = case happyOut124 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_367 = happySpecReduce_1 111# happyReduction_367 happyReduction_367 happy_x_1 = case happyOut123 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_368 = happySpecReduce_1 111# happyReduction_368 happyReduction_368 happy_x_1 = case happyOut125 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_369 = happySpecReduce_1 111# happyReduction_369 happyReduction_369 happy_x_1 = case happyOut126 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_370 = happySpecReduce_1 111# happyReduction_370 happyReduction_370 happy_x_1 = case happyOut127 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_371 = happySpecReduce_1 111# happyReduction_371 happyReduction_371 happy_x_1 = case happyOut133 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_372 = happySpecReduce_1 111# happyReduction_372 happyReduction_372 happy_x_1 = case happyOut134 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_373 = happySpecReduce_1 111# happyReduction_373 happyReduction_373 happy_x_1 = case happyOut128 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_374 = happySpecReduce_1 111# happyReduction_374 happyReduction_374 happy_x_1 = case happyOut131 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_375 = happySpecReduce_1 111# happyReduction_375 happyReduction_375 happy_x_1 = case happyOut130 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_376 = happySpecReduce_1 111# happyReduction_376 happyReduction_376 happy_x_1 = case happyOut129 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_377 = happySpecReduce_1 111# happyReduction_377 happyReduction_377 happy_x_1 = case happyOut132 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_378 = happySpecReduce_1 111# happyReduction_378 happyReduction_378 happy_x_1 = case happyOut118 happy_x_1 of { happy_var_1 -> happyIn117 (happy_var_1 )} happyReduce_379 = happyReduce 4# 112# happyReduction_379 happyReduction_379 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwOPTIONS happy_var_2) -> case happyOut28 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn118 (OptionsPragma (getRange (happy_var_1,happy_var_2,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_380 = happyReduce 5# 113# happyReduction_380 happyReduction_380 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwBUILTIN happy_var_2) -> case happyOutTok happy_x_3 of { (TokString happy_var_3) -> case happyOut31 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn119 (BuiltinPragma (getRange (happy_var_1,happy_var_2,fst happy_var_3,happy_var_4,happy_var_5)) (snd happy_var_3) (Ident happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_381 = happyReduce 5# 113# happyReduction_381 happyReduction_381 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwBUILTIN happy_var_2) -> case happyOutTok happy_x_3 of { (TokKeyword KwREWRITE happy_var_3) -> case happyOut31 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn119 (BuiltinPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4,happy_var_5)) "REWRITE" (Ident happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_382 = happyReduce 4# 114# happyReduction_382 happyReduction_382 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwREWRITE happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn120 (RewritePragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_383 = happyReduce 5# 115# happyReduction_383 happyReduction_383 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOut28 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn121 (CompiledPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_384 = happyReduce 5# 116# happyReduction_384 happyReduction_384 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_EXPORT happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOut29 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn122 (CompiledExportPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 happy_var_4 ) `HappyStk` happyRest}}}}} happyReduce_385 = happyReduce 5# 117# happyReduction_385 happyReduction_385 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_TYPE happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOut28 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn123 (CompiledTypePragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_386 = happyReduce 6# 118# happyReduction_386 happyReduction_386 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_DATA happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokString happy_var_4) -> case happyOut28 happy_x_5 of { happy_var_5 -> case happyOutTok happy_x_6 of { (TokSymbol SymClosePragma happy_var_6) -> happyIn124 (CompiledDataPragma (getRange (happy_var_1,happy_var_2,happy_var_3,fst happy_var_4,happy_var_6)) happy_var_3 (snd happy_var_4) happy_var_5 ) `HappyStk` happyRest}}}}}} happyReduce_387 = happyReduce 5# 119# happyReduction_387 happyReduction_387 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_EPIC happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOut28 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn125 (CompiledEpicPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_388 = happyReduce 5# 120# happyReduction_388 happyReduction_388 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwCOMPILED_JS happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOut28 happy_x_4 of { happy_var_4 -> case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> happyIn126 (CompiledJSPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_5)) happy_var_3 (unwords happy_var_4) ) `HappyStk` happyRest}}}}} happyReduce_389 = happyReduce 4# 121# happyReduction_389 happyReduction_389 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwSTATIC happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn127 (StaticPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_390 = happyReduce 4# 122# happyReduction_390 happyReduction_390 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwETA happy_var_2) -> case happyOut31 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn128 (EtaPragma (getRange (happy_var_1,happy_var_2,happy_var_3,happy_var_4)) happy_var_3 ) `HappyStk` happyRest}}}} happyReduce_391 = happySpecReduce_3 123# happyReduction_391 happyReduction_391 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwNO_TERMINATION_CHECK happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> happyIn129 (TerminationCheckPragma (getRange (happy_var_1,happy_var_2,happy_var_3)) NoTerminationCheck )}}} happyReduce_392 = happySpecReduce_3 124# happyReduction_392 happyReduction_392 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwNON_TERMINATING happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> happyIn130 (TerminationCheckPragma (getRange (happy_var_1,happy_var_2,happy_var_3)) NonTerminating )}}} happyReduce_393 = happySpecReduce_3 125# happyReduction_393 happyReduction_393 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwTERMINATING happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> happyIn131 (TerminationCheckPragma (getRange (happy_var_1,happy_var_2,happy_var_3)) Terminating )}}} happyReduce_394 = happyReduce 4# 126# happyReduction_394 happyReduction_394 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwMEASURE happy_var_2) -> case happyOut30 happy_x_3 of { happy_var_3 -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> happyIn132 (let r = getRange (happy_var_1, happy_var_2, happy_var_3, happy_var_4) in TerminationCheckPragma r (TerminationMeasure r happy_var_3) ) `HappyStk` happyRest}}}} happyReduce_395 = happyMonadReduce 4# 127# happyReduction_395 happyReduction_395 (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 { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwIMPORT happy_var_2) -> case happyOutTok happy_x_3 of { (TokString happy_var_3) -> case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> ( let s = snd happy_var_3 in if validHaskellModuleName s then return $ ImportPragma (getRange (happy_var_1,happy_var_2,fst happy_var_3,happy_var_4)) s else parseError $ "Malformed module name: " ++ s ++ ".")}}}} ) (\r -> happyReturn (happyIn133 r)) happyReduce_396 = happySpecReduce_3 128# happyReduction_396 happyReduction_396 happy_x_3 happy_x_2 happy_x_1 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> case happyOutTok happy_x_2 of { (TokKeyword KwIMPOSSIBLE happy_var_2) -> case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> happyIn134 (ImpossiblePragma (getRange (happy_var_1,happy_var_2,happy_var_3)) )}}} happyReduce_397 = happySpecReduce_3 129# happyReduction_397 happyReduction_397 happy_x_3 happy_x_2 happy_x_1 = case happyOut136 happy_x_2 of { happy_var_2 -> happyIn135 (reverse happy_var_2 )} happyReduce_398 = happySpecReduce_3 130# happyReduction_398 happyReduction_398 happy_x_3 happy_x_2 happy_x_1 = case happyOut136 happy_x_1 of { happy_var_1 -> case happyOut81 happy_x_3 of { happy_var_3 -> happyIn136 (reverse happy_var_3 ++ happy_var_1 )}} happyReduce_399 = happySpecReduce_1 130# happyReduction_399 happyReduction_399 happy_x_1 = case happyOut81 happy_x_1 of { happy_var_1 -> happyIn136 (reverse happy_var_1 )} happyReduce_400 = happySpecReduce_3 131# happyReduction_400 happyReduction_400 happy_x_3 happy_x_2 happy_x_1 = case happyOut138 happy_x_2 of { happy_var_2 -> happyIn137 (reverse happy_var_2 )} happyReduce_401 = happySpecReduce_3 132# happyReduction_401 happyReduction_401 happy_x_3 happy_x_2 happy_x_1 = case happyOut138 happy_x_1 of { happy_var_1 -> case happyOut82 happy_x_3 of { happy_var_3 -> happyIn138 (reverse happy_var_3 ++ happy_var_1 )}} happyReduce_402 = happySpecReduce_1 132# happyReduction_402 happyReduction_402 happy_x_1 = case happyOut82 happy_x_1 of { happy_var_1 -> happyIn138 (reverse happy_var_1 )} happyReduce_403 = happySpecReduce_2 133# happyReduction_403 happyReduction_403 happy_x_2 happy_x_1 = happyIn139 ([] ) happyReduce_404 = happySpecReduce_1 133# happyReduction_404 happyReduction_404 happy_x_1 = case happyOut135 happy_x_1 of { happy_var_1 -> happyIn139 (happy_var_1 )} happyReduce_405 = happySpecReduce_2 134# happyReduction_405 happyReduction_405 happy_x_2 happy_x_1 = happyIn140 ((Nothing, Nothing, []) ) happyReduce_406 = happySpecReduce_3 134# happyReduction_406 happyReduction_406 happy_x_3 happy_x_2 happy_x_1 = case happyOut89 happy_x_2 of { happy_var_2 -> happyIn140 ((Nothing, Just happy_var_2, []) )} happyReduce_407 = happyReduce 5# 134# happyReduction_407 happyReduction_407 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut89 happy_x_2 of { happy_var_2 -> case happyOut144 happy_x_4 of { happy_var_4 -> happyIn140 ((Nothing, Just happy_var_2, happy_var_4) ) `HappyStk` happyRest}} happyReduce_408 = happySpecReduce_3 134# happyReduction_408 happyReduction_408 happy_x_3 happy_x_2 happy_x_1 = case happyOut144 happy_x_2 of { happy_var_2 -> happyIn140 ((Nothing, Nothing, happy_var_2) )} happyReduce_409 = happySpecReduce_3 134# happyReduction_409 happyReduction_409 happy_x_3 happy_x_2 happy_x_1 = case happyOut141 happy_x_2 of { happy_var_2 -> happyIn140 ((Just happy_var_2, Nothing, []) )} happyReduce_410 = happyReduce 5# 134# happyReduction_410 happyReduction_410 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut141 happy_x_2 of { happy_var_2 -> case happyOut89 happy_x_4 of { happy_var_4 -> happyIn140 ((Just happy_var_2, Just happy_var_4, []) ) `HappyStk` happyRest}} happyReduce_411 = happyReduce 7# 134# happyReduction_411 happyReduction_411 (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 happyOut141 happy_x_2 of { happy_var_2 -> case happyOut89 happy_x_4 of { happy_var_4 -> case happyOut144 happy_x_6 of { happy_var_6 -> happyIn140 ((Just happy_var_2, Just happy_var_4, happy_var_6) ) `HappyStk` happyRest}}} happyReduce_412 = happyReduce 5# 134# happyReduction_412 happyReduction_412 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut141 happy_x_2 of { happy_var_2 -> case happyOut144 happy_x_4 of { happy_var_4 -> happyIn140 ((Just happy_var_2, Nothing, happy_var_4) ) `HappyStk` happyRest}} happyReduce_413 = happySpecReduce_1 135# happyReduction_413 happyReduction_413 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwInductive happy_var_1) -> happyIn141 (Ranged (getRange happy_var_1) Inductive )} happyReduce_414 = happySpecReduce_1 135# happyReduction_414 happyReduction_414 happy_x_1 = case happyOutTok happy_x_1 of { (TokKeyword KwCoInductive happy_var_1) -> happyIn141 (Ranged (getRange happy_var_1) CoInductive )} happyReduce_415 = happySpecReduce_3 136# happyReduction_415 happyReduction_415 happy_x_3 happy_x_2 happy_x_1 = case happyOut144 happy_x_2 of { happy_var_2 -> happyIn142 (happy_var_2 )} happyReduce_416 = happySpecReduce_2 137# happyReduction_416 happyReduction_416 happy_x_2 happy_x_1 = happyIn143 ([] ) happyReduce_417 = happySpecReduce_1 137# happyReduction_417 happyReduction_417 happy_x_1 = case happyOut142 happy_x_1 of { happy_var_1 -> happyIn143 (happy_var_1 )} happyReduce_418 = happySpecReduce_3 138# happyReduction_418 happyReduction_418 happy_x_3 happy_x_2 happy_x_1 = case happyOut80 happy_x_1 of { happy_var_1 -> case happyOut144 happy_x_3 of { happy_var_3 -> happyIn144 (happy_var_1 ++ happy_var_3 )}} happyReduce_419 = happySpecReduce_1 138# happyReduction_419 happyReduction_419 happy_x_1 = case happyOut80 happy_x_1 of { happy_var_1 -> happyIn144 (happy_var_1 )} happyReduce_420 = happySpecReduce_0 139# happyReduction_420 happyReduction_420 = happyIn145 ([] ) happyReduce_421 = happySpecReduce_1 139# happyReduction_421 happyReduction_421 happy_x_1 = case happyOut144 happy_x_1 of { happy_var_1 -> happyIn145 (happy_var_1 )} happyNewToken action sts stk = lexer(\tk -> let cont i = happyDoAction i tk action sts stk in case tk of { TokEOF -> happyDoAction 89# tk action sts stk; TokKeyword KwLet happy_dollar_dollar -> cont 1#; TokKeyword KwIn happy_dollar_dollar -> cont 2#; TokKeyword KwWhere happy_dollar_dollar -> cont 3#; TokKeyword KwWith happy_dollar_dollar -> cont 4#; TokKeyword KwRewrite happy_dollar_dollar -> cont 5#; TokKeyword KwPostulate happy_dollar_dollar -> cont 6#; TokKeyword KwPrimitive happy_dollar_dollar -> cont 7#; TokKeyword KwOpen happy_dollar_dollar -> cont 8#; TokKeyword KwImport happy_dollar_dollar -> cont 9#; TokKeyword KwUsing happy_dollar_dollar -> cont 10#; TokKeyword KwHiding happy_dollar_dollar -> cont 11#; TokKeyword KwRenaming happy_dollar_dollar -> cont 12#; TokKeyword KwTo happy_dollar_dollar -> cont 13#; TokKeyword KwPublic happy_dollar_dollar -> cont 14#; TokKeyword KwModule happy_dollar_dollar -> cont 15#; TokKeyword KwData happy_dollar_dollar -> cont 16#; TokKeyword KwCoData happy_dollar_dollar -> cont 17#; TokKeyword KwRecord happy_dollar_dollar -> cont 18#; TokKeyword KwConstructor happy_dollar_dollar -> cont 19#; TokKeyword KwInductive happy_dollar_dollar -> cont 20#; TokKeyword KwCoInductive happy_dollar_dollar -> cont 21#; TokKeyword KwField happy_dollar_dollar -> cont 22#; TokKeyword KwInfix happy_dollar_dollar -> cont 23#; TokKeyword KwInfixL happy_dollar_dollar -> cont 24#; TokKeyword KwInfixR happy_dollar_dollar -> cont 25#; TokKeyword KwMutual happy_dollar_dollar -> cont 26#; TokKeyword KwAbstract happy_dollar_dollar -> cont 27#; TokKeyword KwPrivate happy_dollar_dollar -> cont 28#; TokKeyword KwInstance happy_dollar_dollar -> cont 29#; TokKeyword KwProp happy_dollar_dollar -> cont 30#; TokKeyword KwSet happy_dollar_dollar -> cont 31#; TokKeyword KwForall happy_dollar_dollar -> cont 32#; TokKeyword KwSyntax happy_dollar_dollar -> cont 33#; TokKeyword KwPatternSyn happy_dollar_dollar -> cont 34#; TokKeyword KwOPTIONS happy_dollar_dollar -> cont 35#; TokKeyword KwBUILTIN happy_dollar_dollar -> cont 36#; TokKeyword KwREWRITE happy_dollar_dollar -> cont 37#; TokKeyword KwIMPORT happy_dollar_dollar -> cont 38#; TokKeyword KwIMPOSSIBLE happy_dollar_dollar -> cont 39#; TokKeyword KwETA happy_dollar_dollar -> cont 40#; TokKeyword KwNO_TERMINATION_CHECK happy_dollar_dollar -> cont 41#; TokKeyword KwNON_TERMINATING happy_dollar_dollar -> cont 42#; TokKeyword KwTERMINATING happy_dollar_dollar -> cont 43#; TokKeyword KwMEASURE happy_dollar_dollar -> cont 44#; TokKeyword KwCOMPILED happy_dollar_dollar -> cont 45#; TokKeyword KwCOMPILED_EXPORT happy_dollar_dollar -> cont 46#; TokKeyword KwCOMPILED_DATA happy_dollar_dollar -> cont 47#; TokKeyword KwCOMPILED_TYPE happy_dollar_dollar -> cont 48#; TokKeyword KwCOMPILED_EPIC happy_dollar_dollar -> cont 49#; TokKeyword KwCOMPILED_JS happy_dollar_dollar -> cont 50#; TokKeyword KwSTATIC happy_dollar_dollar -> cont 51#; TokKeyword KwQuoteGoal happy_dollar_dollar -> cont 52#; TokKeyword KwQuoteContext happy_dollar_dollar -> cont 53#; TokKeyword KwQuote happy_dollar_dollar -> cont 54#; TokKeyword KwQuoteTerm happy_dollar_dollar -> cont 55#; TokKeyword KwTactic happy_dollar_dollar -> cont 56#; TokKeyword KwUnquote happy_dollar_dollar -> cont 57#; TokKeyword KwUnquoteDecl happy_dollar_dollar -> cont 58#; TokSetN happy_dollar_dollar -> cont 59#; TokTeX happy_dollar_dollar -> cont 60#; TokComment happy_dollar_dollar -> cont 61#; TokSymbol SymEllipsis happy_dollar_dollar -> cont 62#; TokSymbol SymDotDot happy_dollar_dollar -> cont 63#; TokSymbol SymDot happy_dollar_dollar -> cont 64#; TokSymbol SymSemi happy_dollar_dollar -> cont 65#; TokSymbol SymColon happy_dollar_dollar -> cont 66#; TokSymbol SymEqual happy_dollar_dollar -> cont 67#; TokSymbol SymUnderscore happy_dollar_dollar -> cont 68#; TokSymbol SymQuestionMark happy_dollar_dollar -> cont 69#; TokSymbol SymArrow happy_dollar_dollar -> cont 70#; TokSymbol SymLambda happy_dollar_dollar -> cont 71#; TokSymbol SymAs happy_dollar_dollar -> cont 72#; TokSymbol SymBar happy_dollar_dollar -> cont 73#; TokSymbol SymOpenParen happy_dollar_dollar -> cont 74#; TokSymbol SymCloseParen happy_dollar_dollar -> cont 75#; TokSymbol SymDoubleOpenBrace happy_dollar_dollar -> cont 76#; TokSymbol SymDoubleCloseBrace happy_dollar_dollar -> cont 77#; TokSymbol SymOpenBrace happy_dollar_dollar -> cont 78#; TokSymbol SymCloseBrace happy_dollar_dollar -> cont 79#; TokSymbol SymOpenVirtualBrace happy_dollar_dollar -> cont 80#; TokSymbol SymCloseVirtualBrace happy_dollar_dollar -> cont 81#; TokSymbol SymVirtualSemi happy_dollar_dollar -> cont 82#; TokSymbol SymOpenPragma happy_dollar_dollar -> cont 83#; TokSymbol SymClosePragma happy_dollar_dollar -> cont 84#; TokId happy_dollar_dollar -> cont 85#; TokQId happy_dollar_dollar -> cont 86#; TokString happy_dollar_dollar -> cont 87#; TokLiteral happy_dollar_dollar -> cont 88#; _ -> happyError' tk }) happyError_ 89# tk = happyError' tk happyError_ _ tk = happyError' tk happyThen :: () => Parser a -> (a -> Parser b) -> Parser b happyThen = (>>=) happyReturn :: () => a -> Parser a happyReturn = (return) happyThen1 = happyThen happyReturn1 :: () => a -> Parser a happyReturn1 = happyReturn happyError' :: () => (Token) -> Parser a happyError' tk = (\token -> happyError) tk tokensParser = happySomeParser where happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x)) exprParser = happySomeParser where happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut32 x)) moduleParser = happySomeParser where happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut9 x)) happySeq = happyDontSeq {-------------------------------------------------------------------------- Parsers --------------------------------------------------------------------------} -- | Parse the token stream. Used by the TeX compiler. tokensParser :: Parser [Token] -- | Parse an expression. Could be used in interactions. exprParser :: Parser Expr -- | Parse a module. moduleParser :: Parser Module {-------------------------------------------------------------------------- Happy stuff --------------------------------------------------------------------------} -- | Required by Happy. happyError :: Parser a happyError = parseError "Parse error" {-------------------------------------------------------------------------- Utility functions --------------------------------------------------------------------------} -- | Grab leading OPTIONS pragmas. takeOptionsPragmas :: [Declaration] -> ([Pragma], [Declaration]) takeOptionsPragmas = spanJust $ \ d -> case d of Pragma p@OptionsPragma{} -> Just p _ -> Nothing -- | Insert a top-level module if there is none. figureOutTopLevelModule :: [Declaration] -> [Declaration] figureOutTopLevelModule ds = case span isAllowedBeforeModule ds of (ds0, Module r m tel ds1 : ds2) -> ds0 ++ [Module r m tel $ ds1 ++ ds2] (ds0, ds1) -> ds0 ++ [Module (getRange ds1) (QName noName_) [] ds1] where isAllowedBeforeModule (Pragma OptionsPragma{}) = True isAllowedBeforeModule (Private _ ds) = all isAllowedBeforeModule ds isAllowedBeforeModule Import{} = True isAllowedBeforeModule ModuleMacro{} = True isAllowedBeforeModule Open{} = True isAllowedBeforeModule _ = False -- | Create a name from a string. mkName :: (Interval, String) -> Parser Name mkName (i, s) = do let xs = C.stringNameParts s mapM_ isValidId xs unless (alternating xs) $ fail $ "a name cannot contain two consecutive underscores" return $ Name (getRange i) xs where isValidId Hole = return () isValidId (Id y) = do let x = rawNameToString y case parse defaultParseFlags [0] (lexer return) x of ParseOk _ (TokId _) -> return () _ -> fail $ "in the name " ++ s ++ ", the part " ++ x ++ " is not valid" -- we know that there are no two Ids in a row alternating (Hole : Hole : _) = False alternating (_ : xs) = alternating xs alternating [] = True -- | Create a qualified name from a list of strings mkQName :: [(Interval, String)] -> Parser QName mkQName ss = do xs <- mapM mkName ss return $ foldr Qual (QName $ last xs) (init xs) ensureUnqual :: QName -> Parser Name ensureUnqual (QName x) = return x ensureUnqual q@Qual{} = parseError' (rStart $ getRange q) "Qualified name not allowed here" -- | Match a particular name. isName :: String -> (Interval, String) -> Parser () isName s (_,s') | s == s' = return () | otherwise = fail $ "expected " ++ s ++ ", found " ++ s' -- | Build a forall pi (forall x y z -> ...) forallPi :: [LamBinding] -> Expr -> Expr forallPi bs e = Pi (map addType bs) e -- | Build a telescoping let (let Ds) tLet :: Range -> [Declaration] -> TypedBindings tLet r = TypedBindings r . Common.Arg defaultArgInfo . TLet r -- | Converts lambda bindings to typed bindings. addType :: LamBinding -> TypedBindings addType (DomainFull b) = b addType (DomainFree info x) = TypedBindings r $ Common.Arg info $ TBind r [pure x] $ Underscore r Nothing where r = getRange x mergeImportDirectives :: [ImportDirective] -> Parser ImportDirective mergeImportDirectives is = do i <- foldl merge (return defaultImportDir) is verifyImportDirective i where merge mi i2 = do i1 <- mi let err = parseError' (rStart $ getRange i2) "Cannot mix using and hiding module directives" uh <- case (usingOrHiding i1, usingOrHiding i2) of (Hiding [], u) -> return u (u, Hiding []) -> return u (Using{}, Hiding{}) -> err (Hiding{}, Using{}) -> err (Using xs, Using ys) -> return $ Using (xs ++ ys) (Hiding xs, Hiding ys) -> return $ Hiding (xs ++ ys) return $ ImportDirective { importDirRange = fuseRange i1 i2 , usingOrHiding = uh , renaming = renaming i1 ++ renaming i2 , publicOpen = publicOpen i1 || publicOpen i2 } -- | Check that an import directive doesn't contain repeated names verifyImportDirective :: ImportDirective -> Parser ImportDirective verifyImportDirective i = case filter ((>1) . length) $ group $ sort xs of [] -> return i yss -> let Just pos = rStart $ getRange $ head $ concat yss in parseErrorAt pos $ "Repeated name" ++ s ++ " in import directive: " ++ concat (intersperse ", " $ map (show . head) yss) where s = case yss of [_] -> "" _ -> "s" where xs = names (usingOrHiding i) ++ map renFrom (renaming i) names (Using xs) = xs names (Hiding xs) = xs -- | Breaks up a string into substrings. Returns every maximal -- subsequence of zero or more characters distinct from @'.'@. -- -- > splitOnDots "" == [""] -- > splitOnDots "foo.bar" == ["foo", "bar"] -- > splitOnDots ".foo.bar" == ["", "foo", "bar"] -- > splitOnDots "foo.bar." == ["foo", "bar", ""] -- > splitOnDots "foo..bar" == ["foo", "", "bar"] splitOnDots :: String -> [String] splitOnDots "" = [""] splitOnDots ('.' : s) = [] : splitOnDots s splitOnDots (c : s) = case splitOnDots s of p : ps -> (c : p) : ps prop_splitOnDots = and [ splitOnDots "" == [""] , splitOnDots "foo.bar" == ["foo", "bar"] , splitOnDots ".foo.bar" == ["", "foo", "bar"] , splitOnDots "foo.bar." == ["foo", "bar", ""] , splitOnDots "foo..bar" == ["foo", "", "bar"] ] -- | Returns 'True' iff the name is a valid Haskell (hierarchical) -- module name. validHaskellModuleName :: String -> Bool validHaskellModuleName = all ok . splitOnDots where -- Checks if a dot-less module name is well-formed. ok :: String -> Bool ok [] = False ok (c : s) = isUpper c && all (\c -> isLower c || c == '_' || isUpper c || generalCategory c == DecimalNumber || c == '\'') s {-------------------------------------------------------------------------- Patterns --------------------------------------------------------------------------} -- | Turn an expression into a left hand side. exprToLHS :: Expr -> Parser ([Expr] -> [Expr] -> LHS) exprToLHS e = case e of WithApp r e es -> LHS <$> exprToPattern e <*> mapM exprToPattern es _ -> LHS <$> exprToPattern e <*> return [] -- | Turn an expression into a pattern. Fails if the expression is not a -- valid pattern. exprToPattern :: Expr -> Parser Pattern exprToPattern e = case e of Ident x -> return $ IdentP x App _ e1 e2 -> AppP <$> exprToPattern e1 <*> T.mapM (T.mapM exprToPattern) e2 Paren r e -> ParenP r <$> exprToPattern e Underscore r _ -> return $ WildP r Absurd r -> return $ AbsurdP r As r x e -> AsP r x <$> exprToPattern e Dot r (HiddenArg _ e) -> return $ HiddenP r $ fmap (DotP r) e Dot r e -> return $ DotP r e Lit l -> return $ LitP l HiddenArg r e -> HiddenP r <$> T.mapM exprToPattern e InstanceArg r e -> InstanceP r <$> T.mapM exprToPattern e RawApp r es -> RawAppP r <$> mapM exprToPattern es Quote r -> return $ QuoteP r _ -> let Just pos = rStart $ getRange e in parseErrorAt pos $ "Not a valid pattern: " ++ show e opAppExprToPattern :: OpApp Expr -> Parser Pattern opAppExprToPattern (SyntaxBindingLambda _ _ _) = parseError "Syntax binding lambda cannot appear in a pattern" opAppExprToPattern (Ordinary e) = exprToPattern e -- | Turn an expression into a name. Fails if the expression is not a -- valid identifier. exprToName :: Expr -> Parser Name exprToName (Ident (QName x)) = return x exprToName e = let Just pos = rStart $ getRange e in parseErrorAt pos $ "Not a valid identifier: " ++ show e stripSingletonRawApp :: Expr -> Expr stripSingletonRawApp (RawApp _ [e]) = stripSingletonRawApp e stripSingletonRawApp e = e isEqual :: Expr -> Maybe (Expr, Expr) isEqual e = case stripSingletonRawApp e of Equal _ a b -> Just (stripSingletonRawApp a, stripSingletonRawApp b) _ -> Nothing maybeNamed :: Expr -> Named_ Expr maybeNamed e = case isEqual e of Just (Ident (QName x), b) -> named (Ranged (getRange x) (nameToRawName x)) b _ -> unnamed e patternSynArgs :: [Either Hiding LamBinding] -> Parser [Arg Name] patternSynArgs = mapM pSynArg where pSynArg Left{} = parseError "Absurd patterns are not allowed in pattern synonyms" pSynArg (Right DomainFull{}) = parseError "Unexpected type signature in pattern synonym argument" pSynArg (Right (DomainFree a x)) | getHiding a `notElem` [Hidden, NotHidden] = parseError $ show (getHiding a) ++ " arguments not allowed to pattern synonyms" | getRelevance a /= Relevant = parseError "Arguments to pattern synonyms must be relevant" | otherwise = return $ Common.Arg a (boundName x) parsePanic s = parseError $ "Internal parser error: " ++ s ++ ". Please report this as a bug." {- RHS or type signature -} data RHSOrTypeSigs = JustRHS RHS | TypeSigsRHS Expr namesOfPattern :: Pattern -> Maybe [(C.ArgInfo, Name)] namesOfPattern (IdentP (QName i)) = Just [(defaultArgInfo, i)] namesOfPattern (WildP r) = Just [(defaultArgInfo, C.noName r)] namesOfPattern (DotP _ (Ident (QName i))) = Just [(setRelevance Irrelevant defaultArgInfo, i)] namesOfPattern (RawAppP _ ps) = fmap concat $ mapM namesOfPattern ps namesOfPattern _ = Nothing funClauseOrTypeSigs :: LHS -> RHSOrTypeSigs -> WhereClause -> Parser [Declaration] funClauseOrTypeSigs lhs (JustRHS rhs) wh = return [FunClause lhs rhs wh] funClauseOrTypeSigs lhs (TypeSigsRHS e) wh | NoWhere <- wh, LHS p [] [] [] <- lhs, Just names <- namesOfPattern p = return $ map (\(x,y) -> TypeSig x y e) names | otherwise = parseError "Illegal function clause or type signature" {-------------------------------------------------------------------------- Tests --------------------------------------------------------------------------} -- | Test suite. tests :: IO Bool tests = runTests "Agda.Syntax.Parser.Parser" [ quickCheck' prop_splitOnDots ] {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "" #-} {-# LINE 1 "" #-} {-# 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" #-} {-# LINE 86 "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.