{-# OPTIONS_GHC -w #-}
{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}
#if __GLASGOW_HASKELL__ >= 710
{-# OPTIONS_GHC -XPartialTypeSignatures #-}
#endif
-- |
-- Module      :  Cryptol.Parser
-- Copyright   :  (c) 2013-2016 Galois, Inc.
-- License     :  BSD3
-- Maintainer  :  cryptol@galois.com
-- Stability   :  provisional
-- Portability :  portable

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE Trustworthy #-}
module Cryptol.Parser
  ( parseModule
  , parseProgram, parseProgramWith
  , parseExpr, parseExprWith
  , parseDecl, parseDeclWith
  , parseDecls, parseDeclsWith
  , parseLetDecl, parseLetDeclWith
  , parseRepl, parseReplWith
  , parseSchema, parseSchemaWith
  , parseModName, parseHelpName
  , ParseError(..), ppError
  , Layout(..)
  , Config(..), defaultConfig
  , guessPreProc, PreProc(..)
  ) where

import           Control.Applicative as A
import           Data.Maybe(fromMaybe)
import           Data.Text(Text)
import qualified Data.Text as T
import           Control.Monad(liftM2,msum)

import Cryptol.Parser.AST
import Cryptol.Parser.Position
import Cryptol.Parser.LexerUtils hiding (mkIdent)
import Cryptol.Parser.ParserUtils
import Cryptol.Parser.Unlit(PreProc(..), guessPreProc)
import Cryptol.Utils.Ident(paramInstModName)

import Paths_cryptol
import qualified Data.Array as Happy_Data_Array
import qualified Data.Bits as Bits
import qualified GHC.Exts as Happy_GHC_Exts
import Control.Applicative(Applicative(..))
import Control.Monad (ap)

-- parser produced by Happy Version 1.19.12

newtype HappyAbsSyn  = HappyAbsSyn HappyAny
#if __GLASGOW_HASKELL__ >= 607
type HappyAny = Happy_GHC_Exts.Any
#else
type HappyAny = forall a . a
#endif
newtype HappyWrap15 = HappyWrap15 (Module PName)
happyIn15 :: (Module PName) -> (HappyAbsSyn )
happyIn15 :: Module PName -> HappyAbsSyn
happyIn15 x :: Module PName
x = HappyWrap15 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Module PName -> HappyWrap15
HappyWrap15 Module PName
x)
{-# INLINE happyIn15 #-}
happyOut15 :: (HappyAbsSyn ) -> HappyWrap15
happyOut15 :: HappyAbsSyn -> HappyWrap15
happyOut15 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap15
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut15 #-}
newtype HappyWrap16 = HappyWrap16 (([Located Import], [TopDecl PName]))
happyIn16 :: (([Located Import], [TopDecl PName])) -> (HappyAbsSyn )
happyIn16 :: ([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16 x :: ([Located Import], [TopDecl PName])
x = HappyWrap16 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (([Located Import], [TopDecl PName]) -> HappyWrap16
HappyWrap16 ([Located Import], [TopDecl PName])
x)
{-# INLINE happyIn16 #-}
happyOut16 :: (HappyAbsSyn ) -> HappyWrap16
happyOut16 :: HappyAbsSyn -> HappyWrap16
happyOut16 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap16
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut16 #-}
newtype HappyWrap17 = HappyWrap17 ([Located Import])
happyIn17 :: ([Located Import]) -> (HappyAbsSyn )
happyIn17 :: [Located Import] -> HappyAbsSyn
happyIn17 x :: [Located Import]
x = HappyWrap17 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Located Import] -> HappyWrap17
HappyWrap17 [Located Import]
x)
{-# INLINE happyIn17 #-}
happyOut17 :: (HappyAbsSyn ) -> HappyWrap17
happyOut17 :: HappyAbsSyn -> HappyWrap17
happyOut17 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap17
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut17 #-}
newtype HappyWrap18 = HappyWrap18 (Located Import)
happyIn18 :: (Located Import) -> (HappyAbsSyn )
happyIn18 :: Located Import -> HappyAbsSyn
happyIn18 x :: Located Import
x = HappyWrap18 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located Import -> HappyWrap18
HappyWrap18 Located Import
x)
{-# INLINE happyIn18 #-}
happyOut18 :: (HappyAbsSyn ) -> HappyWrap18
happyOut18 :: HappyAbsSyn -> HappyWrap18
happyOut18 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap18
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut18 #-}
newtype HappyWrap19 = HappyWrap19 (Maybe (Located ModName))
happyIn19 :: (Maybe (Located ModName)) -> (HappyAbsSyn )
happyIn19 :: Maybe (Located ModName) -> HappyAbsSyn
happyIn19 x :: Maybe (Located ModName)
x = HappyWrap19 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Maybe (Located ModName) -> HappyWrap19
HappyWrap19 Maybe (Located ModName)
x)
{-# INLINE happyIn19 #-}
happyOut19 :: (HappyAbsSyn ) -> HappyWrap19
happyOut19 :: HappyAbsSyn -> HappyWrap19
happyOut19 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap19
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut19 #-}
newtype HappyWrap20 = HappyWrap20 (Maybe (Located ImportSpec))
happyIn20 :: (Maybe (Located ImportSpec)) -> (HappyAbsSyn )
happyIn20 :: Maybe (Located ImportSpec) -> HappyAbsSyn
happyIn20 x :: Maybe (Located ImportSpec)
x = HappyWrap20 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Maybe (Located ImportSpec) -> HappyWrap20
HappyWrap20 Maybe (Located ImportSpec)
x)
{-# INLINE happyIn20 #-}
happyOut20 :: (HappyAbsSyn ) -> HappyWrap20
happyOut20 :: HappyAbsSyn -> HappyWrap20
happyOut20 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap20
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut20 #-}
newtype HappyWrap21 = HappyWrap21 ([LIdent])
happyIn21 :: ([LIdent]) -> (HappyAbsSyn )
happyIn21 :: [LIdent] -> HappyAbsSyn
happyIn21 x :: [LIdent]
x = HappyWrap21 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([LIdent] -> HappyWrap21
HappyWrap21 [LIdent]
x)
{-# INLINE happyIn21 #-}
happyOut21 :: (HappyAbsSyn ) -> HappyWrap21
happyOut21 :: HappyAbsSyn -> HappyWrap21
happyOut21 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap21
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut21 #-}
newtype HappyWrap22 = HappyWrap22 ([Ident] -> ImportSpec)
happyIn22 :: ([Ident] -> ImportSpec) -> (HappyAbsSyn )
happyIn22 :: ([Ident] -> ImportSpec) -> HappyAbsSyn
happyIn22 x :: [Ident] -> ImportSpec
x = HappyWrap22 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (([Ident] -> ImportSpec) -> HappyWrap22
HappyWrap22 [Ident] -> ImportSpec
x)
{-# INLINE happyIn22 #-}
happyOut22 :: (HappyAbsSyn ) -> HappyWrap22
happyOut22 :: HappyAbsSyn -> HappyWrap22
happyOut22 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap22
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut22 #-}
newtype HappyWrap23 = HappyWrap23 (Program PName)
happyIn23 :: (Program PName) -> (HappyAbsSyn )
happyIn23 :: Program PName -> HappyAbsSyn
happyIn23 x :: Program PName
x = HappyWrap23 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Program PName -> HappyWrap23
HappyWrap23 Program PName
x)
{-# INLINE happyIn23 #-}
happyOut23 :: (HappyAbsSyn ) -> HappyWrap23
happyOut23 :: HappyAbsSyn -> HappyWrap23
happyOut23 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap23
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut23 #-}
newtype HappyWrap24 = HappyWrap24 (Program PName)
happyIn24 :: (Program PName) -> (HappyAbsSyn )
happyIn24 :: Program PName -> HappyAbsSyn
happyIn24 x :: Program PName
x = HappyWrap24 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Program PName -> HappyWrap24
HappyWrap24 Program PName
x)
{-# INLINE happyIn24 #-}
happyOut24 :: (HappyAbsSyn ) -> HappyWrap24
happyOut24 :: HappyAbsSyn -> HappyWrap24
happyOut24 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap24
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut24 #-}
newtype HappyWrap25 = HappyWrap25 ([TopDecl PName])
happyIn25 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn25 :: [TopDecl PName] -> HappyAbsSyn
happyIn25 x :: [TopDecl PName]
x = HappyWrap25 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap25
HappyWrap25 [TopDecl PName]
x)
{-# INLINE happyIn25 #-}
happyOut25 :: (HappyAbsSyn ) -> HappyWrap25
happyOut25 :: HappyAbsSyn -> HappyWrap25
happyOut25 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap25
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut25 #-}
newtype HappyWrap26 = HappyWrap26 ([TopDecl PName])
happyIn26 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn26 :: [TopDecl PName] -> HappyAbsSyn
happyIn26 x :: [TopDecl PName]
x = HappyWrap26 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap26
HappyWrap26 [TopDecl PName]
x)
{-# INLINE happyIn26 #-}
happyOut26 :: (HappyAbsSyn ) -> HappyWrap26
happyOut26 :: HappyAbsSyn -> HappyWrap26
happyOut26 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap26
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut26 #-}
newtype HappyWrap27 = HappyWrap27 ([TopDecl PName])
happyIn27 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn27 :: [TopDecl PName] -> HappyAbsSyn
happyIn27 x :: [TopDecl PName]
x = HappyWrap27 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap27
HappyWrap27 [TopDecl PName]
x)
{-# INLINE happyIn27 #-}
happyOut27 :: (HappyAbsSyn ) -> HappyWrap27
happyOut27 :: HappyAbsSyn -> HappyWrap27
happyOut27 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap27
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut27 #-}
newtype HappyWrap28 = HappyWrap28 ([TopDecl PName])
happyIn28 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn28 :: [TopDecl PName] -> HappyAbsSyn
happyIn28 x :: [TopDecl PName]
x = HappyWrap28 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap28
HappyWrap28 [TopDecl PName]
x)
{-# INLINE happyIn28 #-}
happyOut28 :: (HappyAbsSyn ) -> HappyWrap28
happyOut28 :: HappyAbsSyn -> HappyWrap28
happyOut28 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap28
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut28 #-}
newtype HappyWrap29 = HappyWrap29 ([TopDecl PName])
happyIn29 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn29 :: [TopDecl PName] -> HappyAbsSyn
happyIn29 x :: [TopDecl PName]
x = HappyWrap29 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap29
HappyWrap29 [TopDecl PName]
x)
{-# INLINE happyIn29 #-}
happyOut29 :: (HappyAbsSyn ) -> HappyWrap29
happyOut29 :: HappyAbsSyn -> HappyWrap29
happyOut29 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap29
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut29 #-}
newtype HappyWrap30 = HappyWrap30 ([TopDecl PName])
happyIn30 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn30 :: [TopDecl PName] -> HappyAbsSyn
happyIn30 x :: [TopDecl PName]
x = HappyWrap30 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap30
HappyWrap30 [TopDecl PName]
x)
{-# INLINE happyIn30 #-}
happyOut30 :: (HappyAbsSyn ) -> HappyWrap30
happyOut30 :: HappyAbsSyn -> HappyWrap30
happyOut30 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap30
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut30 #-}
newtype HappyWrap31 = HappyWrap31 ([TopDecl PName])
happyIn31 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn31 :: [TopDecl PName] -> HappyAbsSyn
happyIn31 x :: [TopDecl PName]
x = HappyWrap31 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap31
HappyWrap31 [TopDecl PName]
x)
{-# INLINE happyIn31 #-}
happyOut31 :: (HappyAbsSyn ) -> HappyWrap31
happyOut31 :: HappyAbsSyn -> HappyWrap31
happyOut31 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap31
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut31 #-}
newtype HappyWrap32 = HappyWrap32 ([TopDecl PName])
happyIn32 :: ([TopDecl PName]) -> (HappyAbsSyn )
happyIn32 :: [TopDecl PName] -> HappyAbsSyn
happyIn32 x :: [TopDecl PName]
x = HappyWrap32 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap32
HappyWrap32 [TopDecl PName]
x)
{-# INLINE happyIn32 #-}
happyOut32 :: (HappyAbsSyn ) -> HappyWrap32
happyOut32 :: HappyAbsSyn -> HappyWrap32
happyOut32 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap32
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut32 #-}
newtype HappyWrap33 = HappyWrap33 (TopDecl PName)
happyIn33 :: (TopDecl PName) -> (HappyAbsSyn )
happyIn33 :: TopDecl PName -> HappyAbsSyn
happyIn33 x :: TopDecl PName
x = HappyWrap33 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (TopDecl PName -> HappyWrap33
HappyWrap33 TopDecl PName
x)
{-# INLINE happyIn33 #-}
happyOut33 :: (HappyAbsSyn ) -> HappyWrap33
happyOut33 :: HappyAbsSyn -> HappyWrap33
happyOut33 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap33
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut33 #-}
newtype HappyWrap34 = HappyWrap34 (Located String)
happyIn34 :: (Located String) -> (HappyAbsSyn )
happyIn34 :: Located String -> HappyAbsSyn
happyIn34 x :: Located String
x = HappyWrap34 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located String -> HappyWrap34
HappyWrap34 Located String
x)
{-# INLINE happyIn34 #-}
happyOut34 :: (HappyAbsSyn ) -> HappyWrap34
happyOut34 :: HappyAbsSyn -> HappyWrap34
happyOut34 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap34
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut34 #-}
newtype HappyWrap35 = HappyWrap35 (Maybe (Located String))
happyIn35 :: (Maybe (Located String)) -> (HappyAbsSyn )
happyIn35 :: Maybe (Located String) -> HappyAbsSyn
happyIn35 x :: Maybe (Located String)
x = HappyWrap35 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Maybe (Located String) -> HappyWrap35
HappyWrap35 Maybe (Located String)
x)
{-# INLINE happyIn35 #-}
happyOut35 :: (HappyAbsSyn ) -> HappyWrap35
happyOut35 :: HappyAbsSyn -> HappyWrap35
happyOut35 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap35
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut35 #-}
newtype HappyWrap36 = HappyWrap36 (Decl PName)
happyIn36 :: (Decl PName) -> (HappyAbsSyn )
happyIn36 :: Decl PName -> HappyAbsSyn
happyIn36 x :: Decl PName
x = HappyWrap36 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Decl PName -> HappyWrap36
HappyWrap36 Decl PName
x)
{-# INLINE happyIn36 #-}
happyOut36 :: (HappyAbsSyn ) -> HappyWrap36
happyOut36 :: HappyAbsSyn -> HappyWrap36
happyOut36 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap36
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut36 #-}
newtype HappyWrap37 = HappyWrap37 (Decl PName)
happyIn37 :: (Decl PName) -> (HappyAbsSyn )
happyIn37 :: Decl PName -> HappyAbsSyn
happyIn37 x :: Decl PName
x = HappyWrap37 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Decl PName -> HappyWrap37
HappyWrap37 Decl PName
x)
{-# INLINE happyIn37 #-}
happyOut37 :: (HappyAbsSyn ) -> HappyWrap37
happyOut37 :: HappyAbsSyn -> HappyWrap37
happyOut37 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap37
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut37 #-}
newtype HappyWrap38 = HappyWrap38 (Newtype PName)
happyIn38 :: (Newtype PName) -> (HappyAbsSyn )
happyIn38 :: Newtype PName -> HappyAbsSyn
happyIn38 x :: Newtype PName
x = HappyWrap38 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Newtype PName -> HappyWrap38
HappyWrap38 Newtype PName
x)
{-# INLINE happyIn38 #-}
happyOut38 :: (HappyAbsSyn ) -> HappyWrap38
happyOut38 :: HappyAbsSyn -> HappyWrap38
happyOut38 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap38
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut38 #-}
newtype HappyWrap39 = HappyWrap39 ([Named (Type PName)])
happyIn39 :: ([Named (Type PName)]) -> (HappyAbsSyn )
happyIn39 :: [Named (Type PName)] -> HappyAbsSyn
happyIn39 x :: [Named (Type PName)]
x = HappyWrap39 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Named (Type PName)] -> HappyWrap39
HappyWrap39 [Named (Type PName)]
x)
{-# INLINE happyIn39 #-}
happyOut39 :: (HappyAbsSyn ) -> HappyWrap39
happyOut39 :: HappyAbsSyn -> HappyWrap39
happyOut39 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap39
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut39 #-}
newtype HappyWrap40 = HappyWrap40 ([ LPName ])
happyIn40 :: ([ LPName ]) -> (HappyAbsSyn )
happyIn40 :: [LPName] -> HappyAbsSyn
happyIn40 x :: [LPName]
x = HappyWrap40 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([LPName] -> HappyWrap40
HappyWrap40 [LPName]
x)
{-# INLINE happyIn40 #-}
happyOut40 :: (HappyAbsSyn ) -> HappyWrap40
happyOut40 :: HappyAbsSyn -> HappyWrap40
happyOut40 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap40
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut40 #-}
newtype HappyWrap41 = HappyWrap41 (LPName)
happyIn41 :: (LPName) -> (HappyAbsSyn )
happyIn41 :: LPName -> HappyAbsSyn
happyIn41 x :: LPName
x = HappyWrap41 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap41
HappyWrap41 LPName
x)
{-# INLINE happyIn41 #-}
happyOut41 :: (HappyAbsSyn ) -> HappyWrap41
happyOut41 :: HappyAbsSyn -> HappyWrap41
happyOut41 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap41
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut41 #-}
newtype HappyWrap42 = HappyWrap42 ([Pattern PName])
happyIn42 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn42 :: [Pattern PName] -> HappyAbsSyn
happyIn42 x :: [Pattern PName]
x = HappyWrap42 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap42
HappyWrap42 [Pattern PName]
x)
{-# INLINE happyIn42 #-}
happyOut42 :: (HappyAbsSyn ) -> HappyWrap42
happyOut42 :: HappyAbsSyn -> HappyWrap42
happyOut42 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap42
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut42 #-}
newtype HappyWrap43 = HappyWrap43 ([Pattern PName])
happyIn43 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn43 :: [Pattern PName] -> HappyAbsSyn
happyIn43 x :: [Pattern PName]
x = HappyWrap43 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap43
HappyWrap43 [Pattern PName]
x)
{-# INLINE happyIn43 #-}
happyOut43 :: (HappyAbsSyn ) -> HappyWrap43
happyOut43 :: HappyAbsSyn -> HappyWrap43
happyOut43 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap43
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut43 #-}
newtype HappyWrap44 = HappyWrap44 ([Pattern PName])
happyIn44 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn44 :: [Pattern PName] -> HappyAbsSyn
happyIn44 x :: [Pattern PName]
x = HappyWrap44 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap44
HappyWrap44 [Pattern PName]
x)
{-# INLINE happyIn44 #-}
happyOut44 :: (HappyAbsSyn ) -> HappyWrap44
happyOut44 :: HappyAbsSyn -> HappyWrap44
happyOut44 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap44
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut44 #-}
newtype HappyWrap45 = HappyWrap45 (([Pattern PName], [Pattern PName]))
happyIn45 :: (([Pattern PName], [Pattern PName])) -> (HappyAbsSyn )
happyIn45 :: ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn45 x :: ([Pattern PName], [Pattern PName])
x = HappyWrap45 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (([Pattern PName], [Pattern PName]) -> HappyWrap45
HappyWrap45 ([Pattern PName], [Pattern PName])
x)
{-# INLINE happyIn45 #-}
happyOut45 :: (HappyAbsSyn ) -> HappyWrap45
happyOut45 :: HappyAbsSyn -> HappyWrap45
happyOut45 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap45
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut45 #-}
newtype HappyWrap46 = HappyWrap46 ([Decl PName])
happyIn46 :: ([Decl PName]) -> (HappyAbsSyn )
happyIn46 :: [Decl PName] -> HappyAbsSyn
happyIn46 x :: [Decl PName]
x = HappyWrap46 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Decl PName] -> HappyWrap46
HappyWrap46 [Decl PName]
x)
{-# INLINE happyIn46 #-}
happyOut46 :: (HappyAbsSyn ) -> HappyWrap46
happyOut46 :: HappyAbsSyn -> HappyWrap46
happyOut46 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap46
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut46 #-}
newtype HappyWrap47 = HappyWrap47 ([Decl PName])
happyIn47 :: ([Decl PName]) -> (HappyAbsSyn )
happyIn47 :: [Decl PName] -> HappyAbsSyn
happyIn47 x :: [Decl PName]
x = HappyWrap47 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Decl PName] -> HappyWrap47
HappyWrap47 [Decl PName]
x)
{-# INLINE happyIn47 #-}
happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
happyOut47 :: HappyAbsSyn -> HappyWrap47
happyOut47 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap47
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut47 #-}
newtype HappyWrap48 = HappyWrap48 ([Decl PName])
happyIn48 :: ([Decl PName]) -> (HappyAbsSyn )
happyIn48 :: [Decl PName] -> HappyAbsSyn
happyIn48 x :: [Decl PName]
x = HappyWrap48 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Decl PName] -> HappyWrap48
HappyWrap48 [Decl PName]
x)
{-# INLINE happyIn48 #-}
happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
happyOut48 :: HappyAbsSyn -> HappyWrap48
happyOut48 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap48
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut48 #-}
newtype HappyWrap49 = HappyWrap49 (ReplInput PName)
happyIn49 :: (ReplInput PName) -> (HappyAbsSyn )
happyIn49 :: ReplInput PName -> HappyAbsSyn
happyIn49 x :: ReplInput PName
x = HappyWrap49 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (ReplInput PName -> HappyWrap49
HappyWrap49 ReplInput PName
x)
{-# INLINE happyIn49 #-}
happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
happyOut49 :: HappyAbsSyn -> HappyWrap49
happyOut49 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap49
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut49 #-}
newtype HappyWrap50 = HappyWrap50 (LPName)
happyIn50 :: (LPName) -> (HappyAbsSyn )
happyIn50 :: LPName -> HappyAbsSyn
happyIn50 x :: LPName
x = HappyWrap50 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap50
HappyWrap50 LPName
x)
{-# INLINE happyIn50 #-}
happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
happyOut50 :: HappyAbsSyn -> HappyWrap50
happyOut50 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap50
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut50 #-}
newtype HappyWrap51 = HappyWrap51 (LPName)
happyIn51 :: (LPName) -> (HappyAbsSyn )
happyIn51 :: LPName -> HappyAbsSyn
happyIn51 x :: LPName
x = HappyWrap51 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap51
HappyWrap51 LPName
x)
{-# INLINE happyIn51 #-}
happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
happyOut51 :: HappyAbsSyn -> HappyWrap51
happyOut51 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap51
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut51 #-}
newtype HappyWrap52 = HappyWrap52 (LPName)
happyIn52 :: (LPName) -> (HappyAbsSyn )
happyIn52 :: LPName -> HappyAbsSyn
happyIn52 x :: LPName
x = HappyWrap52 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap52
HappyWrap52 LPName
x)
{-# INLINE happyIn52 #-}
happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
happyOut52 :: HappyAbsSyn -> HappyWrap52
happyOut52 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap52
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut52 #-}
newtype HappyWrap53 = HappyWrap53 (LPName)
happyIn53 :: (LPName) -> (HappyAbsSyn )
happyIn53 :: LPName -> HappyAbsSyn
happyIn53 x :: LPName
x = HappyWrap53 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap53
HappyWrap53 LPName
x)
{-# INLINE happyIn53 #-}
happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
happyOut53 :: HappyAbsSyn -> HappyWrap53
happyOut53 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap53
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut53 #-}
newtype HappyWrap54 = HappyWrap54 ([LPName])
happyIn54 :: ([LPName]) -> (HappyAbsSyn )
happyIn54 :: [LPName] -> HappyAbsSyn
happyIn54 x :: [LPName]
x = HappyWrap54 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([LPName] -> HappyWrap54
HappyWrap54 [LPName]
x)
{-# INLINE happyIn54 #-}
happyOut54 :: (HappyAbsSyn ) -> HappyWrap54
happyOut54 :: HappyAbsSyn -> HappyWrap54
happyOut54 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap54
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut54 #-}
newtype HappyWrap55 = HappyWrap55 (Expr PName)
happyIn55 :: (Expr PName) -> (HappyAbsSyn )
happyIn55 :: Expr PName -> HappyAbsSyn
happyIn55 x :: Expr PName
x = HappyWrap55 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap55
HappyWrap55 Expr PName
x)
{-# INLINE happyIn55 #-}
happyOut55 :: (HappyAbsSyn ) -> HappyWrap55
happyOut55 :: HappyAbsSyn -> HappyWrap55
happyOut55 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap55
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut55 #-}
newtype HappyWrap56 = HappyWrap56 (Expr PName)
happyIn56 :: (Expr PName) -> (HappyAbsSyn )
happyIn56 :: Expr PName -> HappyAbsSyn
happyIn56 x :: Expr PName
x = HappyWrap56 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap56
HappyWrap56 Expr PName
x)
{-# INLINE happyIn56 #-}
happyOut56 :: (HappyAbsSyn ) -> HappyWrap56
happyOut56 :: HappyAbsSyn -> HappyWrap56
happyOut56 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap56
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut56 #-}
newtype HappyWrap57 = HappyWrap57 (Located [Decl PName])
happyIn57 :: (Located [Decl PName]) -> (HappyAbsSyn )
happyIn57 :: Located [Decl PName] -> HappyAbsSyn
happyIn57 x :: Located [Decl PName]
x = HappyWrap57 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located [Decl PName] -> HappyWrap57
HappyWrap57 Located [Decl PName]
x)
{-# INLINE happyIn57 #-}
happyOut57 :: (HappyAbsSyn ) -> HappyWrap57
happyOut57 :: HappyAbsSyn -> HappyWrap57
happyOut57 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap57
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut57 #-}
newtype HappyWrap58 = HappyWrap58 (Expr PName)
happyIn58 :: (Expr PName) -> (HappyAbsSyn )
happyIn58 :: Expr PName -> HappyAbsSyn
happyIn58 x :: Expr PName
x = HappyWrap58 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap58
HappyWrap58 Expr PName
x)
{-# INLINE happyIn58 #-}
happyOut58 :: (HappyAbsSyn ) -> HappyWrap58
happyOut58 :: HappyAbsSyn -> HappyWrap58
happyOut58 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap58
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut58 #-}
newtype HappyWrap59 = HappyWrap59 (Expr PName)
happyIn59 :: (Expr PName) -> (HappyAbsSyn )
happyIn59 :: Expr PName -> HappyAbsSyn
happyIn59 x :: Expr PName
x = HappyWrap59 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap59
HappyWrap59 Expr PName
x)
{-# INLINE happyIn59 #-}
happyOut59 :: (HappyAbsSyn ) -> HappyWrap59
happyOut59 :: HappyAbsSyn -> HappyWrap59
happyOut59 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap59
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut59 #-}
newtype HappyWrap60 = HappyWrap60 (Expr PName)
happyIn60 :: (Expr PName) -> (HappyAbsSyn )
happyIn60 :: Expr PName -> HappyAbsSyn
happyIn60 x :: Expr PName
x = HappyWrap60 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap60
HappyWrap60 Expr PName
x)
{-# INLINE happyIn60 #-}
happyOut60 :: (HappyAbsSyn ) -> HappyWrap60
happyOut60 :: HappyAbsSyn -> HappyWrap60
happyOut60 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap60
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut60 #-}
newtype HappyWrap61 = HappyWrap61 ([(Expr PName, Expr PName)])
happyIn61 :: ([(Expr PName, Expr PName)]) -> (HappyAbsSyn )
happyIn61 :: [(Expr PName, Expr PName)] -> HappyAbsSyn
happyIn61 x :: [(Expr PName, Expr PName)]
x = HappyWrap61 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([(Expr PName, Expr PName)] -> HappyWrap61
HappyWrap61 [(Expr PName, Expr PName)]
x)
{-# INLINE happyIn61 #-}
happyOut61 :: (HappyAbsSyn ) -> HappyWrap61
happyOut61 :: HappyAbsSyn -> HappyWrap61
happyOut61 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap61
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut61 #-}
newtype HappyWrap62 = HappyWrap62 ((Expr PName, Expr PName))
happyIn62 :: ((Expr PName, Expr PName)) -> (HappyAbsSyn )
happyIn62 :: (Expr PName, Expr PName) -> HappyAbsSyn
happyIn62 x :: (Expr PName, Expr PName)
x = HappyWrap62 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((Expr PName, Expr PName) -> HappyWrap62
HappyWrap62 (Expr PName, Expr PName)
x)
{-# INLINE happyIn62 #-}
happyOut62 :: (HappyAbsSyn ) -> HappyWrap62
happyOut62 :: HappyAbsSyn -> HappyWrap62
happyOut62 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap62
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut62 #-}
newtype HappyWrap63 = HappyWrap63 (Expr PName)
happyIn63 :: (Expr PName) -> (HappyAbsSyn )
happyIn63 :: Expr PName -> HappyAbsSyn
happyIn63 x :: Expr PName
x = HappyWrap63 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap63
HappyWrap63 Expr PName
x)
{-# INLINE happyIn63 #-}
happyOut63 :: (HappyAbsSyn ) -> HappyWrap63
happyOut63 :: HappyAbsSyn -> HappyWrap63
happyOut63 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap63
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut63 #-}
newtype HappyWrap64 = HappyWrap64 (Expr PName)
happyIn64 :: (Expr PName) -> (HappyAbsSyn )
happyIn64 :: Expr PName -> HappyAbsSyn
happyIn64 x :: Expr PName
x = HappyWrap64 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap64
HappyWrap64 Expr PName
x)
{-# INLINE happyIn64 #-}
happyOut64 :: (HappyAbsSyn ) -> HappyWrap64
happyOut64 :: HappyAbsSyn -> HappyWrap64
happyOut64 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap64
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut64 #-}
newtype HappyWrap65 = HappyWrap65 (Expr PName)
happyIn65 :: (Expr PName) -> (HappyAbsSyn )
happyIn65 :: Expr PName -> HappyAbsSyn
happyIn65 x :: Expr PName
x = HappyWrap65 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap65
HappyWrap65 Expr PName
x)
{-# INLINE happyIn65 #-}
happyOut65 :: (HappyAbsSyn ) -> HappyWrap65
happyOut65 :: HappyAbsSyn -> HappyWrap65
happyOut65 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap65
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut65 #-}
newtype HappyWrap66 = HappyWrap66 (Expr PName)
happyIn66 :: (Expr PName) -> (HappyAbsSyn )
happyIn66 :: Expr PName -> HappyAbsSyn
happyIn66 x :: Expr PName
x = HappyWrap66 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap66
HappyWrap66 Expr PName
x)
{-# INLINE happyIn66 #-}
happyOut66 :: (HappyAbsSyn ) -> HappyWrap66
happyOut66 :: HappyAbsSyn -> HappyWrap66
happyOut66 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap66
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut66 #-}
newtype HappyWrap67 = HappyWrap67 ([Expr PName])
happyIn67 :: ([Expr PName]) -> (HappyAbsSyn )
happyIn67 :: [Expr PName] -> HappyAbsSyn
happyIn67 x :: [Expr PName]
x = HappyWrap67 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Expr PName] -> HappyWrap67
HappyWrap67 [Expr PName]
x)
{-# INLINE happyIn67 #-}
happyOut67 :: (HappyAbsSyn ) -> HappyWrap67
happyOut67 :: HappyAbsSyn -> HappyWrap67
happyOut67 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap67
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut67 #-}
newtype HappyWrap68 = HappyWrap68 (Expr PName)
happyIn68 :: (Expr PName) -> (HappyAbsSyn )
happyIn68 :: Expr PName -> HappyAbsSyn
happyIn68 x :: Expr PName
x = HappyWrap68 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap68
HappyWrap68 Expr PName
x)
{-# INLINE happyIn68 #-}
happyOut68 :: (HappyAbsSyn ) -> HappyWrap68
happyOut68 :: HappyAbsSyn -> HappyWrap68
happyOut68 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap68
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut68 #-}
newtype HappyWrap69 = HappyWrap69 (Expr PName)
happyIn69 :: (Expr PName) -> (HappyAbsSyn )
happyIn69 :: Expr PName -> HappyAbsSyn
happyIn69 x :: Expr PName
x = HappyWrap69 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap69
HappyWrap69 Expr PName
x)
{-# INLINE happyIn69 #-}
happyOut69 :: (HappyAbsSyn ) -> HappyWrap69
happyOut69 :: HappyAbsSyn -> HappyWrap69
happyOut69 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap69
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut69 #-}
newtype HappyWrap70 = HappyWrap70 (Expr PName)
happyIn70 :: (Expr PName) -> (HappyAbsSyn )
happyIn70 :: Expr PName -> HappyAbsSyn
happyIn70 x :: Expr PName
x = HappyWrap70 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap70
HappyWrap70 Expr PName
x)
{-# INLINE happyIn70 #-}
happyOut70 :: (HappyAbsSyn ) -> HappyWrap70
happyOut70 :: HappyAbsSyn -> HappyWrap70
happyOut70 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap70
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut70 #-}
newtype HappyWrap71 = HappyWrap71 ([(Bool, Integer)])
happyIn71 :: ([(Bool, Integer)]) -> (HappyAbsSyn )
happyIn71 :: [(Bool, Integer)] -> HappyAbsSyn
happyIn71 x :: [(Bool, Integer)]
x = HappyWrap71 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([(Bool, Integer)] -> HappyWrap71
HappyWrap71 [(Bool, Integer)]
x)
{-# INLINE happyIn71 #-}
happyOut71 :: (HappyAbsSyn ) -> HappyWrap71
happyOut71 :: HappyAbsSyn -> HappyWrap71
happyOut71 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap71
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut71 #-}
newtype HappyWrap72 = HappyWrap72 ((Bool, Integer))
happyIn72 :: ((Bool, Integer)) -> (HappyAbsSyn )
happyIn72 :: (Bool, Integer) -> HappyAbsSyn
happyIn72 x :: (Bool, Integer)
x = HappyWrap72 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ((Bool, Integer) -> HappyWrap72
HappyWrap72 (Bool, Integer)
x)
{-# INLINE happyIn72 #-}
happyOut72 :: (HappyAbsSyn ) -> HappyWrap72
happyOut72 :: HappyAbsSyn -> HappyWrap72
happyOut72 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap72
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut72 #-}
newtype HappyWrap73 = HappyWrap73 (Located Selector)
happyIn73 :: (Located Selector) -> (HappyAbsSyn )
happyIn73 :: Located Selector -> HappyAbsSyn
happyIn73 x :: Located Selector
x = HappyWrap73 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located Selector -> HappyWrap73
HappyWrap73 Located Selector
x)
{-# INLINE happyIn73 #-}
happyOut73 :: (HappyAbsSyn ) -> HappyWrap73
happyOut73 :: HappyAbsSyn -> HappyWrap73
happyOut73 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap73
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut73 #-}
newtype HappyWrap74 = HappyWrap74 ([Expr PName])
happyIn74 :: ([Expr PName]) -> (HappyAbsSyn )
happyIn74 :: [Expr PName] -> HappyAbsSyn
happyIn74 x :: [Expr PName]
x = HappyWrap74 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Expr PName] -> HappyWrap74
HappyWrap74 [Expr PName]
x)
{-# INLINE happyIn74 #-}
happyOut74 :: (HappyAbsSyn ) -> HappyWrap74
happyOut74 :: HappyAbsSyn -> HappyWrap74
happyOut74 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap74
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut74 #-}
newtype HappyWrap75 = HappyWrap75 (Expr PName)
happyIn75 :: (Expr PName) -> (HappyAbsSyn )
happyIn75 :: Expr PName -> HappyAbsSyn
happyIn75 x :: Expr PName
x = HappyWrap75 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap75
HappyWrap75 Expr PName
x)
{-# INLINE happyIn75 #-}
happyOut75 :: (HappyAbsSyn ) -> HappyWrap75
happyOut75 :: HappyAbsSyn -> HappyWrap75
happyOut75 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap75
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut75 #-}
newtype HappyWrap76 = HappyWrap76 (UpdField PName)
happyIn76 :: (UpdField PName) -> (HappyAbsSyn )
happyIn76 :: UpdField PName -> HappyAbsSyn
happyIn76 x :: UpdField PName
x = HappyWrap76 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (UpdField PName -> HappyWrap76
HappyWrap76 UpdField PName
x)
{-# INLINE happyIn76 #-}
happyOut76 :: (HappyAbsSyn ) -> HappyWrap76
happyOut76 :: HappyAbsSyn -> HappyWrap76
happyOut76 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap76
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut76 #-}
newtype HappyWrap77 = HappyWrap77 (UpdHow)
happyIn77 :: (UpdHow) -> (HappyAbsSyn )
happyIn77 :: UpdHow -> HappyAbsSyn
happyIn77 x :: UpdHow
x = HappyWrap77 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (UpdHow -> HappyWrap77
HappyWrap77 UpdHow
x)
{-# INLINE happyIn77 #-}
happyOut77 :: (HappyAbsSyn ) -> HappyWrap77
happyOut77 :: HappyAbsSyn -> HappyWrap77
happyOut77 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap77
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut77 #-}
newtype HappyWrap78 = HappyWrap78 ([ Located Selector ])
happyIn78 :: ([ Located Selector ]) -> (HappyAbsSyn )
happyIn78 :: [Located Selector] -> HappyAbsSyn
happyIn78 x :: [Located Selector]
x = HappyWrap78 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Located Selector] -> HappyWrap78
HappyWrap78 [Located Selector]
x)
{-# INLINE happyIn78 #-}
happyOut78 :: (HappyAbsSyn ) -> HappyWrap78
happyOut78 :: HappyAbsSyn -> HappyWrap78
happyOut78 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap78
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut78 #-}
newtype HappyWrap79 = HappyWrap79 ([UpdField PName])
happyIn79 :: ([UpdField PName]) -> (HappyAbsSyn )
happyIn79 :: [UpdField PName] -> HappyAbsSyn
happyIn79 x :: [UpdField PName]
x = HappyWrap79 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([UpdField PName] -> HappyWrap79
HappyWrap79 [UpdField PName]
x)
{-# INLINE happyIn79 #-}
happyOut79 :: (HappyAbsSyn ) -> HappyWrap79
happyOut79 :: HappyAbsSyn -> HappyWrap79
happyOut79 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap79
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut79 #-}
newtype HappyWrap80 = HappyWrap80 (Expr PName)
happyIn80 :: (Expr PName) -> (HappyAbsSyn )
happyIn80 :: Expr PName -> HappyAbsSyn
happyIn80 x :: Expr PName
x = HappyWrap80 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap80
HappyWrap80 Expr PName
x)
{-# INLINE happyIn80 #-}
happyOut80 :: (HappyAbsSyn ) -> HappyWrap80
happyOut80 :: HappyAbsSyn -> HappyWrap80
happyOut80 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap80
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut80 #-}
newtype HappyWrap81 = HappyWrap81 ([[Match PName]])
happyIn81 :: ([[Match PName]]) -> (HappyAbsSyn )
happyIn81 :: [[Match PName]] -> HappyAbsSyn
happyIn81 x :: [[Match PName]]
x = HappyWrap81 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([[Match PName]] -> HappyWrap81
HappyWrap81 [[Match PName]]
x)
{-# INLINE happyIn81 #-}
happyOut81 :: (HappyAbsSyn ) -> HappyWrap81
happyOut81 :: HappyAbsSyn -> HappyWrap81
happyOut81 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap81
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut81 #-}
newtype HappyWrap82 = HappyWrap82 ([Match PName])
happyIn82 :: ([Match PName]) -> (HappyAbsSyn )
happyIn82 :: [Match PName] -> HappyAbsSyn
happyIn82 x :: [Match PName]
x = HappyWrap82 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Match PName] -> HappyWrap82
HappyWrap82 [Match PName]
x)
{-# INLINE happyIn82 #-}
happyOut82 :: (HappyAbsSyn ) -> HappyWrap82
happyOut82 :: HappyAbsSyn -> HappyWrap82
happyOut82 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap82
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut82 #-}
newtype HappyWrap83 = HappyWrap83 (Match PName)
happyIn83 :: (Match PName) -> (HappyAbsSyn )
happyIn83 :: Match PName -> HappyAbsSyn
happyIn83 x :: Match PName
x = HappyWrap83 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Match PName -> HappyWrap83
HappyWrap83 Match PName
x)
{-# INLINE happyIn83 #-}
happyOut83 :: (HappyAbsSyn ) -> HappyWrap83
happyOut83 :: HappyAbsSyn -> HappyWrap83
happyOut83 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap83
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut83 #-}
newtype HappyWrap84 = HappyWrap84 (Pattern PName)
happyIn84 :: (Pattern PName) -> (HappyAbsSyn )
happyIn84 :: Pattern PName -> HappyAbsSyn
happyIn84 x :: Pattern PName
x = HappyWrap84 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Pattern PName -> HappyWrap84
HappyWrap84 Pattern PName
x)
{-# INLINE happyIn84 #-}
happyOut84 :: (HappyAbsSyn ) -> HappyWrap84
happyOut84 :: HappyAbsSyn -> HappyWrap84
happyOut84 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap84
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut84 #-}
newtype HappyWrap85 = HappyWrap85 (Pattern PName)
happyIn85 :: (Pattern PName) -> (HappyAbsSyn )
happyIn85 :: Pattern PName -> HappyAbsSyn
happyIn85 x :: Pattern PName
x = HappyWrap85 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Pattern PName -> HappyWrap85
HappyWrap85 Pattern PName
x)
{-# INLINE happyIn85 #-}
happyOut85 :: (HappyAbsSyn ) -> HappyWrap85
happyOut85 :: HappyAbsSyn -> HappyWrap85
happyOut85 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap85
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut85 #-}
newtype HappyWrap86 = HappyWrap86 (Pattern PName)
happyIn86 :: (Pattern PName) -> (HappyAbsSyn )
happyIn86 :: Pattern PName -> HappyAbsSyn
happyIn86 x :: Pattern PName
x = HappyWrap86 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Pattern PName -> HappyWrap86
HappyWrap86 Pattern PName
x)
{-# INLINE happyIn86 #-}
happyOut86 :: (HappyAbsSyn ) -> HappyWrap86
happyOut86 :: HappyAbsSyn -> HappyWrap86
happyOut86 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap86
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut86 #-}
newtype HappyWrap87 = HappyWrap87 ([Pattern PName])
happyIn87 :: ([Pattern PName]) -> (HappyAbsSyn )
happyIn87 :: [Pattern PName] -> HappyAbsSyn
happyIn87 x :: [Pattern PName]
x = HappyWrap87 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap87
HappyWrap87 [Pattern PName]
x)
{-# INLINE happyIn87 #-}
happyOut87 :: (HappyAbsSyn ) -> HappyWrap87
happyOut87 :: HappyAbsSyn -> HappyWrap87
happyOut87 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap87
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut87 #-}
newtype HappyWrap88 = HappyWrap88 (Named (Pattern PName))
happyIn88 :: (Named (Pattern PName)) -> (HappyAbsSyn )
happyIn88 :: Named (Pattern PName) -> HappyAbsSyn
happyIn88 x :: Named (Pattern PName)
x = HappyWrap88 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Named (Pattern PName) -> HappyWrap88
HappyWrap88 Named (Pattern PName)
x)
{-# INLINE happyIn88 #-}
happyOut88 :: (HappyAbsSyn ) -> HappyWrap88
happyOut88 :: HappyAbsSyn -> HappyWrap88
happyOut88 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap88
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut88 #-}
newtype HappyWrap89 = HappyWrap89 ([Named (Pattern PName)])
happyIn89 :: ([Named (Pattern PName)]) -> (HappyAbsSyn )
happyIn89 :: [Named (Pattern PName)] -> HappyAbsSyn
happyIn89 x :: [Named (Pattern PName)]
x = HappyWrap89 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Named (Pattern PName)] -> HappyWrap89
HappyWrap89 [Named (Pattern PName)]
x)
{-# INLINE happyIn89 #-}
happyOut89 :: (HappyAbsSyn ) -> HappyWrap89
happyOut89 :: HappyAbsSyn -> HappyWrap89
happyOut89 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap89
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut89 #-}
newtype HappyWrap90 = HappyWrap90 (Schema PName)
happyIn90 :: (Schema PName) -> (HappyAbsSyn )
happyIn90 :: Schema PName -> HappyAbsSyn
happyIn90 x :: Schema PName
x = HappyWrap90 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Schema PName -> HappyWrap90
HappyWrap90 Schema PName
x)
{-# INLINE happyIn90 #-}
happyOut90 :: (HappyAbsSyn ) -> HappyWrap90
happyOut90 :: HappyAbsSyn -> HappyWrap90
happyOut90 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap90
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut90 #-}
newtype HappyWrap91 = HappyWrap91 (Located [TParam PName])
happyIn91 :: (Located [TParam PName]) -> (HappyAbsSyn )
happyIn91 :: Located [TParam PName] -> HappyAbsSyn
happyIn91 x :: Located [TParam PName]
x = HappyWrap91 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located [TParam PName] -> HappyWrap91
HappyWrap91 Located [TParam PName]
x)
{-# INLINE happyIn91 #-}
happyOut91 :: (HappyAbsSyn ) -> HappyWrap91
happyOut91 :: HappyAbsSyn -> HappyWrap91
happyOut91 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap91
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut91 #-}
newtype HappyWrap92 = HappyWrap92 (Located [Prop PName])
happyIn92 :: (Located [Prop PName]) -> (HappyAbsSyn )
happyIn92 :: Located [Prop PName] -> HappyAbsSyn
happyIn92 x :: Located [Prop PName]
x = HappyWrap92 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located [Prop PName] -> HappyWrap92
HappyWrap92 Located [Prop PName]
x)
{-# INLINE happyIn92 #-}
happyOut92 :: (HappyAbsSyn ) -> HappyWrap92
happyOut92 :: HappyAbsSyn -> HappyWrap92
happyOut92 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap92
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut92 #-}
newtype HappyWrap93 = HappyWrap93 (Located [Prop PName])
happyIn93 :: (Located [Prop PName]) -> (HappyAbsSyn )
happyIn93 :: Located [Prop PName] -> HappyAbsSyn
happyIn93 x :: Located [Prop PName]
x = HappyWrap93 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located [Prop PName] -> HappyWrap93
HappyWrap93 Located [Prop PName]
x)
{-# INLINE happyIn93 #-}
happyOut93 :: (HappyAbsSyn ) -> HappyWrap93
happyOut93 :: HappyAbsSyn -> HappyWrap93
happyOut93 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap93
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut93 #-}
newtype HappyWrap94 = HappyWrap94 (Located Kind)
happyIn94 :: (Located Kind) -> (HappyAbsSyn )
happyIn94 :: Located Kind -> HappyAbsSyn
happyIn94 x :: Located Kind
x = HappyWrap94 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located Kind -> HappyWrap94
HappyWrap94 Located Kind
x)
{-# INLINE happyIn94 #-}
happyOut94 :: (HappyAbsSyn ) -> HappyWrap94
happyOut94 :: HappyAbsSyn -> HappyWrap94
happyOut94 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap94
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut94 #-}
newtype HappyWrap95 = HappyWrap95 (TParam PName)
happyIn95 :: (TParam PName) -> (HappyAbsSyn )
happyIn95 :: TParam PName -> HappyAbsSyn
happyIn95 x :: TParam PName
x = HappyWrap95 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (TParam PName -> HappyWrap95
HappyWrap95 TParam PName
x)
{-# INLINE happyIn95 #-}
happyOut95 :: (HappyAbsSyn ) -> HappyWrap95
happyOut95 :: HappyAbsSyn -> HappyWrap95
happyOut95 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap95
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut95 #-}
newtype HappyWrap96 = HappyWrap96 ([TParam PName])
happyIn96 :: ([TParam PName]) -> (HappyAbsSyn )
happyIn96 :: [TParam PName] -> HappyAbsSyn
happyIn96 x :: [TParam PName]
x = HappyWrap96 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TParam PName] -> HappyWrap96
HappyWrap96 [TParam PName]
x)
{-# INLINE happyIn96 #-}
happyOut96 :: (HappyAbsSyn ) -> HappyWrap96
happyOut96 :: HappyAbsSyn -> HappyWrap96
happyOut96 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap96
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut96 #-}
newtype HappyWrap97 = HappyWrap97 (TParam PName)
happyIn97 :: (TParam PName) -> (HappyAbsSyn )
happyIn97 :: TParam PName -> HappyAbsSyn
happyIn97 x :: TParam PName
x = HappyWrap97 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (TParam PName -> HappyWrap97
HappyWrap97 TParam PName
x)
{-# INLINE happyIn97 #-}
happyOut97 :: (HappyAbsSyn ) -> HappyWrap97
happyOut97 :: HappyAbsSyn -> HappyWrap97
happyOut97 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap97
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut97 #-}
newtype HappyWrap98 = HappyWrap98 ([TParam PName])
happyIn98 :: ([TParam PName]) -> (HappyAbsSyn )
happyIn98 :: [TParam PName] -> HappyAbsSyn
happyIn98 x :: [TParam PName]
x = HappyWrap98 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([TParam PName] -> HappyWrap98
HappyWrap98 [TParam PName]
x)
{-# INLINE happyIn98 #-}
happyOut98 :: (HappyAbsSyn ) -> HappyWrap98
happyOut98 :: HappyAbsSyn -> HappyWrap98
happyOut98 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap98
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut98 #-}
newtype HappyWrap99 = HappyWrap99 (Type PName)
happyIn99 :: (Type PName) -> (HappyAbsSyn )
happyIn99 :: Type PName -> HappyAbsSyn
happyIn99 x :: Type PName
x = HappyWrap99 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap99
HappyWrap99 Type PName
x)
{-# INLINE happyIn99 #-}
happyOut99 :: (HappyAbsSyn ) -> HappyWrap99
happyOut99 :: HappyAbsSyn -> HappyWrap99
happyOut99 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap99
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut99 #-}
newtype HappyWrap100 = HappyWrap100 (Type PName)
happyIn100 :: (Type PName) -> (HappyAbsSyn )
happyIn100 :: Type PName -> HappyAbsSyn
happyIn100 x :: Type PName
x = HappyWrap100 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap100
HappyWrap100 Type PName
x)
{-# INLINE happyIn100 #-}
happyOut100 :: (HappyAbsSyn ) -> HappyWrap100
happyOut100 :: HappyAbsSyn -> HappyWrap100
happyOut100 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap100
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut100 #-}
newtype HappyWrap101 = HappyWrap101 (Type PName)
happyIn101 :: (Type PName) -> (HappyAbsSyn )
happyIn101 :: Type PName -> HappyAbsSyn
happyIn101 x :: Type PName
x = HappyWrap101 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap101
HappyWrap101 Type PName
x)
{-# INLINE happyIn101 #-}
happyOut101 :: (HappyAbsSyn ) -> HappyWrap101
happyOut101 :: HappyAbsSyn -> HappyWrap101
happyOut101 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap101
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut101 #-}
newtype HappyWrap102 = HappyWrap102 (Type PName)
happyIn102 :: (Type PName) -> (HappyAbsSyn )
happyIn102 :: Type PName -> HappyAbsSyn
happyIn102 x :: Type PName
x = HappyWrap102 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap102
HappyWrap102 Type PName
x)
{-# INLINE happyIn102 #-}
happyOut102 :: (HappyAbsSyn ) -> HappyWrap102
happyOut102 :: HappyAbsSyn -> HappyWrap102
happyOut102 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap102
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut102 #-}
newtype HappyWrap103 = HappyWrap103 ([ Type PName ])
happyIn103 :: ([ Type PName ]) -> (HappyAbsSyn )
happyIn103 :: [Type PName] -> HappyAbsSyn
happyIn103 x :: [Type PName]
x = HappyWrap103 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Type PName] -> HappyWrap103
HappyWrap103 [Type PName]
x)
{-# INLINE happyIn103 #-}
happyOut103 :: (HappyAbsSyn ) -> HappyWrap103
happyOut103 :: HappyAbsSyn -> HappyWrap103
happyOut103 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap103
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut103 #-}
newtype HappyWrap104 = HappyWrap104 (Located [Type PName])
happyIn104 :: (Located [Type PName]) -> (HappyAbsSyn )
happyIn104 :: Located [Type PName] -> HappyAbsSyn
happyIn104 x :: Located [Type PName]
x = HappyWrap104 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located [Type PName] -> HappyWrap104
HappyWrap104 Located [Type PName]
x)
{-# INLINE happyIn104 #-}
happyOut104 :: (HappyAbsSyn ) -> HappyWrap104
happyOut104 :: HappyAbsSyn -> HappyWrap104
happyOut104 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap104
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut104 #-}
newtype HappyWrap105 = HappyWrap105 ([Type PName])
happyIn105 :: ([Type PName]) -> (HappyAbsSyn )
happyIn105 :: [Type PName] -> HappyAbsSyn
happyIn105 x :: [Type PName]
x = HappyWrap105 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Type PName] -> HappyWrap105
HappyWrap105 [Type PName]
x)
{-# INLINE happyIn105 #-}
happyOut105 :: (HappyAbsSyn ) -> HappyWrap105
happyOut105 :: HappyAbsSyn -> HappyWrap105
happyOut105 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap105
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut105 #-}
newtype HappyWrap106 = HappyWrap106 (Named (Type PName))
happyIn106 :: (Named (Type PName)) -> (HappyAbsSyn )
happyIn106 :: Named (Type PName) -> HappyAbsSyn
happyIn106 x :: Named (Type PName)
x = HappyWrap106 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Named (Type PName) -> HappyWrap106
HappyWrap106 Named (Type PName)
x)
{-# INLINE happyIn106 #-}
happyOut106 :: (HappyAbsSyn ) -> HappyWrap106
happyOut106 :: HappyAbsSyn -> HappyWrap106
happyOut106 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap106
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut106 #-}
newtype HappyWrap107 = HappyWrap107 ([Named (Type PName)])
happyIn107 :: ([Named (Type PName)]) -> (HappyAbsSyn )
happyIn107 :: [Named (Type PName)] -> HappyAbsSyn
happyIn107 x :: [Named (Type PName)]
x = HappyWrap107 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Named (Type PName)] -> HappyWrap107
HappyWrap107 [Named (Type PName)]
x)
{-# INLINE happyIn107 #-}
happyOut107 :: (HappyAbsSyn ) -> HappyWrap107
happyOut107 :: HappyAbsSyn -> HappyWrap107
happyOut107 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap107
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut107 #-}
newtype HappyWrap108 = HappyWrap108 (Located Ident)
happyIn108 :: (Located Ident) -> (HappyAbsSyn )
happyIn108 :: LIdent -> HappyAbsSyn
happyIn108 x :: LIdent
x = HappyWrap108 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LIdent -> HappyWrap108
HappyWrap108 LIdent
x)
{-# INLINE happyIn108 #-}
happyOut108 :: (HappyAbsSyn ) -> HappyWrap108
happyOut108 :: HappyAbsSyn -> HappyWrap108
happyOut108 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap108
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut108 #-}
newtype HappyWrap109 = HappyWrap109 (LPName)
happyIn109 :: (LPName) -> (HappyAbsSyn )
happyIn109 :: LPName -> HappyAbsSyn
happyIn109 x :: LPName
x = HappyWrap109 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap109
HappyWrap109 LPName
x)
{-# INLINE happyIn109 #-}
happyOut109 :: (HappyAbsSyn ) -> HappyWrap109
happyOut109 :: HappyAbsSyn -> HappyWrap109
happyOut109 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap109
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut109 #-}
newtype HappyWrap110 = HappyWrap110 (Located ModName)
happyIn110 :: (Located ModName) -> (HappyAbsSyn )
happyIn110 :: Located ModName -> HappyAbsSyn
happyIn110 x :: Located ModName
x = HappyWrap110 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located ModName -> HappyWrap110
HappyWrap110 Located ModName
x)
{-# INLINE happyIn110 #-}
happyOut110 :: (HappyAbsSyn ) -> HappyWrap110
happyOut110 :: HappyAbsSyn -> HappyWrap110
happyOut110 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap110
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut110 #-}
newtype HappyWrap111 = HappyWrap111 (Located ModName)
happyIn111 :: (Located ModName) -> (HappyAbsSyn )
happyIn111 :: Located ModName -> HappyAbsSyn
happyIn111 x :: Located ModName
x = HappyWrap111 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Located ModName -> HappyWrap111
HappyWrap111 Located ModName
x)
{-# INLINE happyIn111 #-}
happyOut111 :: (HappyAbsSyn ) -> HappyWrap111
happyOut111 :: HappyAbsSyn -> HappyWrap111
happyOut111 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap111
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut111 #-}
newtype HappyWrap112 = HappyWrap112 (Located PName)
happyIn112 :: (Located PName) -> (HappyAbsSyn )
happyIn112 :: LPName -> HappyAbsSyn
happyIn112 x :: LPName
x = HappyWrap112 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap112
HappyWrap112 LPName
x)
{-# INLINE happyIn112 #-}
happyOut112 :: (HappyAbsSyn ) -> HappyWrap112
happyOut112 :: HappyAbsSyn -> HappyWrap112
happyOut112 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap112
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut112 #-}
newtype HappyWrap113 = HappyWrap113 (Located PName)
happyIn113 :: (Located PName) -> (HappyAbsSyn )
happyIn113 :: LPName -> HappyAbsSyn
happyIn113 x :: LPName
x = HappyWrap113 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap113
HappyWrap113 LPName
x)
{-# INLINE happyIn113 #-}
happyOut113 :: (HappyAbsSyn ) -> HappyWrap113
happyOut113 :: HappyAbsSyn -> HappyWrap113
happyOut113 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap113
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut113 #-}
newtype HappyWrap114 = HappyWrap114 (Type PName)
happyIn114 :: (Type PName) -> (HappyAbsSyn )
happyIn114 :: Type PName -> HappyAbsSyn
happyIn114 x :: Type PName
x = HappyWrap114 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap114
HappyWrap114 Type PName
x)
{-# INLINE happyIn114 #-}
happyOut114 :: (HappyAbsSyn ) -> HappyWrap114
happyOut114 :: HappyAbsSyn -> HappyWrap114
happyOut114 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap114
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut114 #-}
newtype HappyWrap115 = HappyWrap115 (Named (Type PName))
happyIn115 :: (Named (Type PName)) -> (HappyAbsSyn )
happyIn115 :: Named (Type PName) -> HappyAbsSyn
happyIn115 x :: Named (Type PName)
x = HappyWrap115 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# (Named (Type PName) -> HappyWrap115
HappyWrap115 Named (Type PName)
x)
{-# INLINE happyIn115 #-}
happyOut115 :: (HappyAbsSyn ) -> HappyWrap115
happyOut115 :: HappyAbsSyn -> HappyWrap115
happyOut115 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap115
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut115 #-}
newtype HappyWrap116 = HappyWrap116 ([Named (Type PName)])
happyIn116 :: ([Named (Type PName)]) -> (HappyAbsSyn )
happyIn116 :: [Named (Type PName)] -> HappyAbsSyn
happyIn116 x :: [Named (Type PName)]
x = HappyWrap116 -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# ([Named (Type PName)] -> HappyWrap116
HappyWrap116 [Named (Type PName)]
x)
{-# INLINE happyIn116 #-}
happyOut116 :: (HappyAbsSyn ) -> HappyWrap116
happyOut116 :: HappyAbsSyn -> HappyWrap116
happyOut116 x :: HappyAbsSyn
x = HappyAbsSyn -> HappyWrap116
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOut116 #-}
happyInTok :: (Located Token) -> (HappyAbsSyn )
happyInTok :: Located Token -> HappyAbsSyn
happyInTok x :: Located Token
x = Located Token -> HappyAbsSyn
Happy_GHC_Exts.unsafeCoerce# Located Token
x
{-# INLINE happyInTok #-}
happyOutTok :: (HappyAbsSyn ) -> (Located Token)
happyOutTok :: HappyAbsSyn -> Located Token
happyOutTok x :: HappyAbsSyn
x = HappyAbsSyn -> Located Token
Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
x
{-# INLINE happyOutTok #-}


happyExpList :: HappyAddr
happyExpList :: HappyAddr
happyExpList = Addr# -> HappyAddr
HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x20\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x79\x40\x04\x21\x80\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x73\x00\x12\x41\x28\x31\x30\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xf3\x80\x08\x42\x00\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x9c\x07\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x80\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xce\x01\x40\x04\x21\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0e\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x10\x40\x00\x00\xfe\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1c\x00\x04\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\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\x3a\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x60\x04\x10\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\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\x10\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x20\x82\x50\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x21\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xcf\x01\x48\x04\xa3\xc4\xf8\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x00\x22\x08\x27\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x10\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x03\x80\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x1e\x10\x41\x08\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x82\x10\x40\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xe7\x01\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x05\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x21\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x04\x23\x80\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0e\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xef\x01\x11\x84\x00\x0a\x40\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x79\x40\x04\x21\x80\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0e\x00\x02\x00\x20\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x1e\x10\x41\x08\x20\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xf7\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x07\x00\x01\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x83\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\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\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x08\x46\x00\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\x04\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\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\xfc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x04\x21\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x44\x10\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x38\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x22\x08\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\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\x08\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x08\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x0c\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x20\x44\x12\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x88\x24\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\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\xf8\x1c\x80\x44\x10\x4a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x24\x82\x50\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\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\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xc4\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x90\x08\x42\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\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\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x38\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xce\x01\x40\x04\x21\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe7\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x32\x08\x01\x84\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xcf\x01\x48\x04\xa1\xc4\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x90\x08\x42\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x73\x00\x12\x41\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x00\x44\x10\x4a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x20\x82\x50\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x20\x82\x50\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x1e\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x9c\x07\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x90\x08\x42\x89\x81\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\xe2\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0e\x00\x22\x08\x01\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\x9d\x03\x80\x08\x42\x00\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x1e\x10\x41\x18\x20\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xf3\x80\x08\x42\x00\x05\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xbc\x07\x44\x10\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xef\x01\x11\x84\x00\x02\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x22\x08\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x03\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x3d\x20\x82\x10\x40\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xef\x01\x11\x84\x00\x02\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x7c\x0f\x88\x20\x04\x10\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\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\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xef\x01\x11\x84\x00\x02\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x08\x20\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x04\x21\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x03\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\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\x80\x38\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\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\x20\x00\x18\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x79\x40\x04\x61\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x04\x10\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe7\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x71\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x24\x82\x50\x62\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xc0\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x22\x08\x01\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\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xbe\x07\x44\x10\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x40\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x10\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x73\x00\x12\x41\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xce\x01\x40\x04\x21\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xdf\x03\x22\x08\x01\x04\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x20\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

{-# NOINLINE happyExpListPerState #-}
happyExpListPerState :: Int -> [a]
happyExpListPerState st :: Int
st =
    [a]
token_strs_expected
  where token_strs :: [a]
token_strs = ["error","%dummy","%start_vmodule","%start_program","%start_programLayout","%start_expr","%start_decl","%start_decls","%start_declsLayout","%start_letDecl","%start_repl","%start_schema","%start_modName","%start_helpName","vmodule","vmod_body","vimports","import","mbAs","mbImportSpec","name_list","mbHiding","program","program_layout","top_decls","vtop_decls","vtop_decl","top_decl","private_decls","prim_bind","parameter_decls","par_decls","par_decl","doc","mbDoc","decl","let_decl","newtype","newtype_body","vars_comma","var","apats","indices","indices1","apats_indices","decls","vdecls","decls_layout","repl","qop","op","pat_op","other_op","ops","expr","exprNoWhere","whereClause","typedExpr","simpleExpr","longExpr","ifBranches","ifBranch","simpleRHS","longRHS","simpleApp","longApp","aexprs","aexpr","no_sel_aexpr","sel_expr","poly_terms","poly_term","selector","tuple_exprs","rec_expr","field_expr","field_how","sels","field_exprs","list_expr","list_alts","matches","match","pat","ipat","apat","tuple_pats","field_pat","field_pats","schema","schema_vars","schema_quals","schema_qual","kind","schema_param","schema_params","tysyn_param","tysyn_params","type","infix_type","app_type","atype","atypes","dimensions","tuple_types","field_type","field_types","ident","name","smodName","modName","qname","help_name","tick_ty","field_ty_val","field_ty_vals","NUM","STRLIT","CHARLIT","IDENT","QIDENT","'include'","'import'","'as'","'hiding'","'private'","'parameter'","'property'","'infix'","'infixl'","'infixr'","'type'","'newtype'","'module'","'where'","'let'","'if'","'then'","'else'","'x'","'primitive'","'constraint'","'Prop'","'['","']'","'<-'","'..'","'...'","'|'","'('","')'","','","';'","'.'","'{'","'}'","'<|'","'|>'","'='","'`'","':'","'->'","'=>'","'\\\\'","'_'","'v{'","'v}'","'v;'","'+'","'*'","'^^'","'-'","'~'","'#'","'@'","OP","QOP","DOC","%eof"]
        bit_start :: Int
bit_start = Int
st Int -> Int -> Int
forall a. Num a => a -> a -> a
* 179
        bit_end :: Int
bit_end = (Int
st Int -> Int -> Int
forall a. Num a => a -> a -> a
+ 1) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 179
        read_bit :: Int -> Bool
read_bit = HappyAddr -> Int -> Bool
readArrayBit HappyAddr
happyExpList
        bits :: [Bool]
bits = (Int -> Bool) -> [Int] -> [Bool]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Bool
read_bit [Int
bit_start..Int
bit_end Int -> Int -> Int
forall a. Num a => a -> a -> a
- 1]
        bits_indexed :: [(Bool, Int)]
bits_indexed = [Bool] -> [Int] -> [(Bool, Int)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Bool]
bits [0..178]
        token_strs_expected :: [a]
token_strs_expected = ((Bool, Int) -> [a]) -> [(Bool, Int)] -> [a]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap (Bool, Int) -> [a]
f [(Bool, Int)]
bits_indexed
        f :: (Bool, Int) -> [a]
f (False, _) = []
        f (True, nr :: Int
nr) = [[a]
token_strs [a] -> Int -> a
forall a. [a] -> Int -> a
!! Int
nr]

happyActOffsets :: HappyAddr
happyActOffsets :: HappyAddr
happyActOffsets = Addr# -> HappyAddr
HappyA# "\x44\x00\xb9\x01\x66\x00\x5c\x06\x32\x08\x32\x08\xb9\x00\x99\x00\xf8\x05\xc6\x08\xbe\x05\x85\x03\x19\x01\xbe\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\xe2\x04\x0d\x01\xe2\x08\xe2\x08\x00\x00\x11\x01\x6f\x0b\x00\x00\x00\x00\xf8\x08\x14\x09\x00\x00\x00\x00\x2a\x09\x25\x03\xab\x02\x00\x00\x00\x00\x15\x01\x2f\x01\x00\x00\x00\x00\x5f\x0b\x00\x00\x00\x00\x00\x00\x75\x0a\x00\x00\x94\x08\x00\x00\x30\x01\x3c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x0a\x5c\x06\x2a\x06\xfb\x02\x78\x08\x1c\x00\xdb\x0a\x4f\x0a\x00\x00\x5c\x08\x5c\x08\x39\x01\x39\x01\x98\x07\x5b\x01\xc0\x00\xe9\x06\xf9\x01\x68\x00\xad\x05\x1f\x05\x00\x00\x90\x01\xb7\x01\xbf\x01\x2f\x07\xe5\x09\x77\x06\xcf\x03\x00\x00\x8f\x01\xf2\xff\x8f\x01\x51\x02\x8f\x01\xd4\x01\xb1\x01\x00\x00\x00\x00\xd0\x01\x00\x00\xdd\x01\x00\x00\xac\x01\xbe\x05\x25\x02\x15\x02\x89\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\x81\x01\x00\x00\xbe\x05\xd2\x01\x07\x02\x25\x00\x00\x00\x93\x06\x00\x00\x42\x02\xcc\x00\x00\x00\x70\x01\x00\x00\x66\x01\x47\x02\x00\x00\x65\x02\x87\x01\xd9\xff\x00\x00\xd1\x01\x00\x00\x13\x0a\x00\x00\xea\xff\x95\x00\x00\x00\x3b\x0c\x43\x0c\xf6\x01\x03\x03\xa1\x02\x4b\x0c\x4b\x0c\x4b\x0c\x4f\x0a\x5c\x06\x4f\x0a\x68\x02\xfa\x06\x7c\x02\x00\x00\x4f\x0a\x74\x04\x46\x09\x00\x00\x00\x00\x97\x01\x00\x00\x8c\x0a\x00\x00\x9e\x0a\x00\x00\x1c\x0a\x00\x00\x00\x00\x00\x00\x5c\x09\xae\x07\x33\x01\x00\x00\x00\x00\x79\x02\x00\x00\x9f\x02\xe2\x00\xce\x06\x92\x02\x00\x00\xce\x06\xa3\x02\x2a\x02\x45\x02\x00\x00\xca\x02\xaf\x02\xc6\x00\xee\x02\x00\x00\x5c\x08\x5c\x08\xd0\x02\xce\x02\xd8\x02\x00\x00\x06\x02\x4d\x00\x00\x00\xef\x00\x0b\x07\x41\x03\x41\x03\x00\x00\x00\x00\x5c\x06\x5c\x09\x00\x00\xf2\x01\x00\x00\x44\x02\xc1\x02\xd1\x0a\xd6\x02\x56\x03\x60\x03\x00\x00\x06\x04\xde\x02\x00\x00\x78\x09\x00\x00\x8e\x09\x00\x00\x8e\x09\x8e\x09\x8e\x09\x00\x00\x00\x00\xd2\x02\x8e\x09\xd2\x02\x00\x00\xe3\x02\xf5\x02\xdc\x02\x00\x00\xeb\x02\x00\x00\x00\x00\x06\x03\x21\x03\x00\x00\x64\x0a\xf3\x02\x00\x00\x00\x00\x8e\x09\x00\x00\x8e\x09\x00\x00\xec\x05\xa1\x02\x00\x00\xa1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x03\x5c\x06\x5c\x06\x5c\x06\x5c\x06\x00\x00\x5c\x06\x5c\x06\x00\x00\x4f\x0a\x5c\x06\x00\x00\x00\x00\x5c\x06\x00\x00\xb0\x08\xb0\x08\x55\x02\x5c\x06\x00\x00\x00\x00\x00\x00\x55\x02\x5c\x06\xb0\x08\x45\x03\x00\x00\x82\x00\x61\x02\x80\x02\x24\x03\x00\x00\x8e\x02\x00\x00\x30\x03\x00\x00\x5c\x06\x32\x08\x00\x00\x32\x08\x00\x00\x00\x00\x00\x00\x4b\x0c\x1c\x03\x00\x00\x5c\x06\x00\x00\x4f\x0a\x00\x00\x2b\x03\x62\x03\x6c\x03\x00\x00\x67\x03\x67\x03\x67\x03\x76\x03\x4b\x0c\xeb\x08\x00\x00\x1d\x09\x00\x00\x8e\x09\xab\x04\x00\x00\x4f\x0a\x00\x00\x4f\x0a\x00\x00\x8e\x09\x00\x00\x6f\x03\x4f\x0a\xa1\x02\x00\x00\x00\x00\x06\x08\xc4\x07\xd1\x02\x00\x00\xd1\x02\x00\x00\x83\x03\xaa\x09\x4b\x0c\xbe\x05\x87\x03\xd1\x02\xe0\x03\x00\x00\xf4\x03\xa1\x02\x19\x05\x00\x00\xe3\x03\xf6\x03\x8a\x02\x8a\x02\x00\x00\x00\x00\x5c\x01\x00\x00\x5c\x01\xe1\x03\xd1\x02\x4f\x09\x24\x0a\x00\x00\x6a\x01\xbe\x05\x99\x01\xb2\x01\x00\x00\x31\x06\x43\x04\x41\x04\x36\x04\xaa\x09\x00\x00\x00\x00\xb4\x01\x00\x00\x1c\x08\x00\x00\x00\x00\x00\x00\x5c\x06\x00\x00\x00\x00\x00\x00\x50\x04\x00\x00\x00\x00\xc0\x09\x81\x09\xc0\x09\xab\x04\xe6\xff\x4b\x0c\x5c\x06\x52\x04\x84\x04\x4f\x0a\x79\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x02\x00\x00\xc0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x04\x80\x04\x96\x04\xb1\x04\x5c\x06\xb1\x04\x5c\x06\x00\x00\xaf\x04\xbf\x04\x6c\x02\xbb\x04\xb9\x04\x00\x00\xca\x04\xd6\x04\xd6\x04\xd6\x04\x00\x00\x00\x00\xd6\x04\x5c\x06\x00\x00\xc4\x04\x00\x00\xcd\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x09\x00\x00\x64\x0a\x25\x02\xd3\x04\xe6\xff\xe6\xff\xf4\x04\x5c\x06\x4f\x0a\x4f\x0a\x5c\x06\x00\x00\xf4\x04\xf4\x04\x00\x00\xde\x04\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x83\x01\xe9\x04\x00\x00\xc0\x09\x00\x00\xc0\x09\x0c\x05\x00\x00\x00\x00\x00\x00\xe6\xff\xf3\x04\xf6\x04\x05\x05\x8c\x03\x0d\x05\x00\x00\x0d\x05\x00\x00\x00\x00\x00\x00\x3c\x05\x00\x00\x48\x0a\x5c\x06\xb3\x09\x38\x05\xb1\x02\xb3\x02\x00\x00\x00\x00\x00\x00\x3d\x04\x38\x05\x55\x05\x5c\x06\xa1\x02\x00\x00\x00\x00\x46\x05\xc0\x09\xdc\x09\x25\x02\xdc\x09\x3b\x05\x00\x00\x00\x00\xf2\x09\x00\x00\x6e\x05\x5e\x05\x00\x00\x8c\x05\x72\x05\x00\x00\x00\x00\x00\x00\x77\x05\x00\x00\x00\x00\xe6\xff\xa6\x03\x00\x00\xa5\x05\x00\x00\xc4\x02\x00\x00\x00\x00\x00\x00\xa1\x02\x8b\x05\x00\x00\x00\x00\x00\x00"#

happyGotoOffsets :: HappyAddr
happyGotoOffsets :: HappyAddr
happyGotoOffsets = Addr# -> HappyAddr
HappyA# "\xc4\x05\x8a\x00\xbc\x05\x9b\x03\x0e\x00\xa9\x00\xa9\x05\xb7\x05\x08\x01\x9b\x0a\xab\xff\x91\x01\x00\x00\x28\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\x3c\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\x08\x00\x00\x00\x86\x06\xb1\x08\x00\x00\x00\x00\x6d\x03\x00\x00\x00\x00\x44\x03\x22\x04\x00\x00\x00\x00\x15\x09\x20\x02\xb9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x04\x00\x00\x00\x00\x00\x00\xaa\x05\x00\x00\x72\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x01\x3b\x03\x4b\x03\x99\x02\x0e\x06\x75\x02\xa7\x04\x21\x00\x00\x00\x18\x07\x23\x07\x00\x00\x00\x00\x2e\x01\x00\x00\x00\x00\x48\x00\x1d\x01\x00\x00\xdb\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\xf4\x02\x29\x02\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x04\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x01\xc9\x05\x00\x00\x15\x05\x00\x00\x00\x00\x00\x00\x00\x00\xda\x03\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x03\x00\x00\xe0\xff\x4f\x01\x84\x05\x92\x04\xaa\x04\xc9\x04\xfc\xff\xb9\x03\x1e\x02\x00\x00\x33\x00\x00\x00\x00\x00\xa7\x00\x04\x00\xc6\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x05\x00\x00\xc1\x05\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x47\x09\x84\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x67\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x07\x60\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\xd8\xff\xe5\xff\x00\x00\x00\x00\x0d\x07\x79\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x03\x00\x00\x00\x00\xeb\x03\x00\x00\x08\x0a\x00\x00\x58\x0b\xf7\x02\x66\x0b\x00\x00\x00\x00\x00\x00\xe3\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x82\x0b\x00\x00\x32\x0b\xbe\x00\x00\x00\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x03\x8b\x06\x82\x03\xf0\x03\x00\x00\x09\x04\x27\x04\x00\x00\x5a\x02\x40\x04\x00\x00\x00\x00\x5e\x04\x00\x00\x3d\x07\xe2\x02\xb4\x05\x77\x04\x00\x00\x00\x00\x00\x00\xb5\x05\x95\x04\x12\x08\x00\x00\x00\x00\xbf\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x06\x52\x01\x00\x00\x55\x01\x00\x00\x00\x00\x00\x00\xcd\x03\x00\x00\x00\x00\xae\x04\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x03\xcb\x01\x00\x00\x9f\x01\x00\x00\x90\x0b\xc2\x01\x00\x00\x88\x00\x00\x00\xf5\x01\x00\x00\x9e\x0b\x00\x00\x00\x00\xe6\x03\x12\x00\x00\x00\x00\x00\x36\x01\x38\x01\xe8\x00\x00\x00\x03\x01\x00\x00\x00\x00\xdd\x0a\x8c\x04\x4c\x05\x13\x05\xac\x00\xf3\x05\x00\x00\x00\x00\xed\x03\x0c\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x05\xc7\x00\xed\x01\x30\x00\x00\x00\x1c\x01\x6c\x05\x00\x00\x00\x00\x00\x00\x11\x04\x00\x00\x00\x00\x00\x00\xf4\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\x00\x00\xcc\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x0b\xc5\x01\xba\x0b\xe5\x01\xaf\x05\x1b\x05\xe5\x04\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\xc8\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x00\x00\x1c\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\x3a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x0b\x00\x00\x00\x00\x16\x00\x00\x00\xb0\x05\xbb\x05\x00\x00\x53\x05\xc6\x01\x97\x03\x71\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\xe4\x0b\x00\x00\xf2\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x05\x00\x00\x00\x00\x00\x00\x24\x04\x64\x05\x00\x00\x82\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x8a\x05\xf7\x01\xeb\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x05\xf9\x05\x00\x00\xa8\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x0b\x0b\x2b\x00\x22\x0b\x00\x00\x00\x00\x00\x00\x0e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x05\x00\x00\x00\x00\x00\x00\x00\x00"#

happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
happyAdjustOffset :: Int# -> Int#
happyAdjustOffset off :: Int#
off = Int#
off

happyDefActions :: HappyAddr
happyDefActions :: HappyAddr
happyDefActions = Addr# -> HappyAddr
HappyA# "\x00\x00\x00\x00\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\xfe\x8f\xff\x8d\xff\x8a\xff\xe7\xfe\xe2\xfe\xe0\xfe\x00\x00\xec\xfe\xe1\xfe\xe9\xfe\xe8\xfe\xea\xfe\xeb\xfe\x00\x00\x88\xff\x89\xff\x85\xff\x87\xff\x86\xff\x8c\xff\x8b\xff\x84\xff\x8e\xff\xe6\xfe\xe4\xfe\x00\x00\xe5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x15\xff\x1c\xff\x06\xff\x04\xff\x01\xff\x00\x00\x00\xff\xfe\xfe\xfd\xfe\x00\x00\x00\x00\x00\x00\xf6\xfe\x90\xff\x00\x00\x91\xff\x81\xff\x7d\xff\x00\x00\x68\xff\x76\xff\x7e\xff\x67\xff\x6b\xff\x6a\xff\x66\xff\x64\xff\x63\xff\x62\xff\x61\xff\x60\xff\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xff\x00\x00\x00\x00\x2c\xff\xa2\xff\xab\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xbb\xff\x00\x00\xcc\xff\x00\x00\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\xe9\xff\xed\xff\xd8\xff\xce\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\xd5\xff\x00\x00\xea\xfe\x00\x00\x00\x00\xcb\xff\x00\x00\xda\xff\x00\x00\x00\x00\xdb\xff\x00\x00\x1e\xff\x00\x00\x00\x00\x23\xff\x00\x00\x00\x00\x2e\xff\x2c\xff\x00\x00\x2b\xff\x00\x00\x29\xff\x00\x00\x00\x00\x26\xff\x00\x00\xe7\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\x00\x00\xa0\xff\x00\x00\x00\x00\x00\x00\x98\xff\x96\xff\x00\x00\x92\xff\x67\xff\x6c\xff\x67\xff\x6d\xff\x00\x00\xdd\xfe\x56\xff\xdc\xfe\x00\x00\x00\x00\x00\x00\x50\xff\x4e\xff\x4d\xff\x54\xff\x00\x00\x3e\xff\x00\x00\x00\x00\x3d\xff\x00\x00\x45\xff\x4b\xff\x4a\xff\x5a\xff\x5e\xff\x00\x00\x00\x00\x00\x00\x5b\xff\x87\xff\x86\xff\x3a\xff\x39\xff\x00\x00\x58\xff\x00\x00\x00\x00\x73\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x65\xff\x69\xff\x00\x00\x00\x00\x0d\xff\x00\x00\xee\xfe\x00\x00\x0f\xff\x18\xff\x00\x00\x00\x00\x00\x00\xfa\xfe\x00\x00\x00\x00\xf5\xfe\x02\xff\x00\xff\x00\x00\x03\xff\x00\x00\x00\x00\x00\x00\x14\xff\x16\xff\x1a\xff\x00\x00\x1b\xff\xe3\xfe\x00\x00\x00\x00\x00\x00\xde\xfe\x19\xff\x07\xff\x05\xff\x00\x00\x00\x00\xf4\xfe\xf3\xfe\x00\x00\xf8\xfe\xf9\xfe\x00\x00\xfb\xfe\x00\x00\xff\xfe\x00\x00\x00\x00\xf7\xfe\x00\x00\x17\xff\x78\xff\x77\xff\x7f\xff\x52\xff\x4b\xff\x4a\xff\x51\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\xff\x00\x00\x00\x00\x36\xff\x00\x00\x00\x00\x5c\xff\x5d\xff\x00\x00\x55\xff\x00\x00\x00\x00\x00\x00\x00\x00\x40\xff\x3f\xff\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\xe7\xfe\xd5\xfe\x00\x00\xda\xfe\x00\x00\x9f\xff\x00\x00\x00\x00\x93\xff\x00\x00\xb9\xff\xa3\xff\xa2\xff\x00\x00\x99\xff\x9c\xff\x00\x00\x9a\xff\x00\x00\x97\xff\x2d\xff\xb8\xff\x00\x00\x83\xff\xac\xff\xae\xff\xad\xff\x00\x00\x00\x00\x00\x00\x09\xff\x00\x00\x0b\xff\x00\x00\x00\x00\x24\xff\x00\x00\x25\xff\x00\x00\x27\xff\x00\x00\x28\xff\xa1\xff\x00\x00\x00\x00\x22\xff\x80\xff\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\xe6\xff\xd0\xff\x00\x00\x00\x00\x00\x00\xd4\xff\xea\xfe\x00\x00\x00\x00\x00\x00\xf1\xff\xeb\xff\xf0\xff\xea\xff\xef\xff\xba\xff\x00\x00\x00\x00\x00\x00\xd3\xff\xdf\xff\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\xd6\xff\x00\x00\x7a\xff\x00\x00\x7c\xff\x1d\xff\x1f\xff\x00\x00\x2f\xff\x21\xff\x20\xff\x00\x00\xb4\xff\x08\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff\xb6\xff\x00\x00\x00\x00\x95\xff\x94\xff\x74\xff\xdb\xfe\x00\x00\xd9\xfe\x00\x00\xd7\xfe\xd8\xfe\x4f\xff\x4c\xff\x00\x00\x3e\xff\x47\xff\x44\xff\x00\x00\x43\xff\x00\x00\x3c\xff\x46\xff\x49\xff\x49\xff\x3b\xff\x34\xff\x32\xff\x00\x00\x38\xff\x48\xff\x71\xff\x72\xff\x75\xff\xaa\xff\x00\x00\x0c\xff\x0f\xff\xed\xfe\x0e\xff\xef\xfe\x11\xff\x12\xff\x13\xff\xf1\xfe\xf0\xfe\x00\x00\xfc\xfe\xf2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xa9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x35\xff\x42\xff\x41\xff\xd6\xfe\x00\x00\xd4\xfe\xa1\xff\x9b\xff\xb5\xff\x82\xff\x00\x00\x00\x00\xb1\xff\x00\x00\xb3\xff\x00\x00\xb7\xff\x7b\xff\x79\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xc4\xff\xba\xff\xc9\xff\xe7\xff\xe8\xff\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xff\xc8\xff\xa8\xff\x00\x00\x00\x00\xd1\xff\x00\x00\xe1\xff\xc0\xff\xc1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xb2\xff\xb0\xff\x00\x00\x0a\xff\x37\xff\x33\xff\x31\xff\x30\xff\x10\xff\xf3\xff\xaf\xff\xc6\xff\x00\x00\xbf\xff\xbd\xff\x00\x00\x00\x00\xe2\xff\xd2\xff\xa7\xff\x00\x00\xa6\xff\xa5\xff\xe5\xff\x00\x00\xbe\xff\xf2\xff\xe3\xff"#

happyCheck :: HappyAddr
happyCheck :: HappyAddr
happyCheck = Addr# -> HappyAddr
HappyA# "\xff\xff\x1b\x00\x01\x00\x02\x00\x03\x00\x13\x00\x2d\x00\x1d\x00\x5d\x00\x06\x00\x5f\x00\x60\x00\x0b\x00\x0c\x00\x24\x00\x0e\x00\x0f\x00\x10\x00\x3a\x00\x3a\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x03\x00\x19\x00\x1a\x00\x36\x00\x01\x00\x1a\x00\x3a\x00\x3a\x00\x0b\x00\x0c\x00\x15\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x1a\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x03\x00\x19\x00\x1a\x00\x3f\x00\x52\x00\x53\x00\x18\x00\x5d\x00\x0b\x00\x0c\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x1b\x00\x5d\x00\x13\x00\x14\x00\x15\x00\x03\x00\x5d\x00\x47\x00\x19\x00\x1a\x00\x2a\x00\x46\x00\x47\x00\x0b\x00\x0c\x00\x1b\x00\x0e\x00\x0f\x00\x10\x00\x1c\x00\x2b\x00\x13\x00\x14\x00\x15\x00\x46\x00\x47\x00\x12\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x49\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x5d\x00\x5d\x00\x5e\x00\x1b\x00\x17\x00\x5d\x00\x1e\x00\x5f\x00\x47\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x61\x00\x21\x00\x5d\x00\x03\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x47\x00\x32\x00\x47\x00\x0b\x00\x0c\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x01\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x47\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x47\x00\x5d\x00\x5e\x00\x08\x00\x2b\x00\x0a\x00\x49\x00\x4a\x00\x0d\x00\x32\x00\x0f\x00\x18\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x5d\x00\x5e\x00\x3a\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x0b\x00\x0c\x00\x5d\x00\x0e\x00\x0f\x00\x10\x00\x14\x00\x25\x00\x13\x00\x14\x00\x15\x00\x1d\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x0b\x00\x0c\x00\x24\x00\x0e\x00\x0f\x00\x10\x00\x34\x00\x15\x00\x13\x00\x14\x00\x15\x00\x19\x00\x1a\x00\x1d\x00\x19\x00\x1a\x00\x47\x00\x1f\x00\x1b\x00\x5d\x00\x5e\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x46\x00\x47\x00\x0b\x00\x0c\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x13\x00\x13\x00\x14\x00\x15\x00\x5d\x00\x5e\x00\x64\x00\x19\x00\x1a\x00\x46\x00\x47\x00\x24\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x23\x00\x24\x00\x32\x00\x3e\x00\x2d\x00\x47\x00\x46\x00\x47\x00\x25\x00\x46\x00\x47\x00\x0c\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x47\x00\x33\x00\x34\x00\x19\x00\x1a\x00\x21\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x26\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x46\x00\x47\x00\x0c\x00\x25\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x5b\x00\x2b\x00\x5d\x00\x19\x00\x1a\x00\x16\x00\x34\x00\x0d\x00\x05\x00\x0f\x00\x07\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x3a\x00\x22\x00\x12\x00\x19\x00\x1a\x00\x46\x00\x47\x00\x28\x00\x29\x00\x15\x00\x2b\x00\x2c\x00\x2d\x00\x19\x00\x1a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2f\x00\x1b\x00\x13\x00\x15\x00\x1e\x00\x5d\x00\x5e\x00\x19\x00\x1a\x00\x46\x00\x47\x00\x15\x00\x3f\x00\x15\x00\x20\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\x52\x00\x3f\x00\x1f\x00\x26\x00\x15\x00\x20\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x2a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x26\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x15\x00\x35\x00\x61\x00\x15\x00\x19\x00\x1a\x00\x47\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x15\x00\x09\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x3f\x00\x50\x00\x5d\x00\x5e\x00\x46\x00\x47\x00\x46\x00\x47\x00\x25\x00\x25\x00\x1b\x00\x5d\x00\x5e\x00\x1e\x00\x5d\x00\x06\x00\x46\x00\x47\x00\x24\x00\x5d\x00\x5e\x00\x0c\x00\x28\x00\x25\x00\x34\x00\x01\x00\x11\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x27\x00\x46\x00\x47\x00\x19\x00\x46\x00\x47\x00\x33\x00\x34\x00\x5d\x00\x5e\x00\x52\x00\x32\x00\x46\x00\x47\x00\x3e\x00\x23\x00\x35\x00\x36\x00\x37\x00\x23\x00\x24\x00\x5d\x00\x5e\x00\x47\x00\x5d\x00\x5e\x00\x2e\x00\x5d\x00\x5e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x01\x00\x00\x00\x5d\x00\x5e\x00\x25\x00\x04\x00\x25\x00\x06\x00\x01\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x5e\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x33\x00\x34\x00\x33\x00\x34\x00\x3f\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x61\x00\x00\x00\x1c\x00\x25\x00\x25\x00\x04\x00\x25\x00\x06\x00\x22\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x27\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x33\x00\x34\x00\x33\x00\x34\x00\x19\x00\x31\x00\x3f\x00\x18\x00\x19\x00\x5d\x00\x5e\x00\x1c\x00\x52\x00\x61\x00\x62\x00\x23\x00\x24\x00\x22\x00\x3e\x00\x3f\x00\x00\x00\x04\x00\x27\x00\x5d\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x08\x00\x09\x00\x0a\x00\x32\x00\x31\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x44\x00\x45\x00\x46\x00\x47\x00\x18\x00\x46\x00\x47\x00\x18\x00\x3e\x00\x3f\x00\x52\x00\x1c\x00\x24\x00\x52\x00\x22\x00\x13\x00\x28\x00\x22\x00\x16\x00\x52\x00\x53\x00\x5d\x00\x27\x00\x2b\x00\x5d\x00\x5d\x00\x5e\x00\x00\x00\x5d\x00\x5e\x00\x5d\x00\x04\x00\x31\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\x52\x00\x3f\x00\x32\x00\x45\x00\x46\x00\x47\x00\x18\x00\x19\x00\x52\x00\x53\x00\x1c\x00\x5d\x00\x23\x00\x24\x00\x25\x00\x26\x00\x22\x00\x33\x00\x52\x00\x5d\x00\x21\x00\x27\x00\x24\x00\x25\x00\x26\x00\x26\x00\x00\x00\x5d\x00\x5e\x00\x5d\x00\x04\x00\x31\x00\x06\x00\x33\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x3e\x00\x46\x00\x47\x00\x21\x00\x25\x00\x24\x00\x18\x00\x19\x00\x26\x00\x28\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x48\x00\x2b\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\x5a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x13\x00\x2b\x00\x61\x00\x31\x00\x2e\x00\x33\x00\x24\x00\x5d\x00\x5e\x00\x23\x00\x28\x00\x00\x00\x1f\x00\x20\x00\x25\x00\x04\x00\x3e\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\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x18\x00\x19\x00\x24\x00\x04\x00\x1c\x00\x2b\x00\x28\x00\x08\x00\x09\x00\x0a\x00\x22\x00\x38\x00\x39\x00\x04\x00\x37\x00\x27\x00\x24\x00\x08\x00\x09\x00\x0a\x00\x28\x00\x5d\x00\x5e\x00\x18\x00\x28\x00\x31\x00\x23\x00\x24\x00\x25\x00\x26\x00\x21\x00\x28\x00\x29\x00\x18\x00\x2b\x00\x2c\x00\x2d\x00\x24\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x23\x00\x28\x00\x3b\x00\x04\x00\x25\x00\x06\x00\x25\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x13\x00\x33\x00\x34\x00\x33\x00\x34\x00\x24\x00\x18\x00\x19\x00\x21\x00\x28\x00\x1c\x00\x2d\x00\x1f\x00\x20\x00\x21\x00\x24\x00\x22\x00\x24\x00\x1d\x00\x5d\x00\x5e\x00\x27\x00\x23\x00\x61\x00\x1d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x2f\x00\x31\x00\x08\x00\x09\x00\x0a\x00\x23\x00\x04\x00\x13\x00\x50\x00\x51\x00\x08\x00\x09\x00\x0a\x00\x32\x00\x3e\x00\x15\x00\x23\x00\x24\x00\x18\x00\x5b\x00\x5c\x00\x5d\x00\x1c\x00\x36\x00\x37\x00\x2f\x00\x18\x00\x3a\x00\x22\x00\x23\x00\x3d\x00\x2d\x00\x3f\x00\x27\x00\x1d\x00\x29\x00\x22\x00\x01\x00\x2c\x00\x03\x00\x04\x00\x05\x00\x30\x00\x31\x00\x08\x00\x09\x00\x0a\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x45\x00\x46\x00\x47\x00\x48\x00\x18\x00\x1d\x00\x5d\x00\x5e\x00\x1c\x00\x01\x00\x61\x00\x2b\x00\x04\x00\x01\x00\x22\x00\x23\x00\x08\x00\x09\x00\x0a\x00\x27\x00\x56\x00\x57\x00\x2b\x00\x59\x00\x5d\x00\x5e\x00\x23\x00\x5d\x00\x5e\x00\x31\x00\x3b\x00\x61\x00\x18\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x28\x00\x29\x00\x3a\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\x28\x00\x29\x00\x13\x00\x2b\x00\x2c\x00\x2d\x00\x23\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x23\x00\x24\x00\x5d\x00\x3b\x00\x5f\x00\x60\x00\x04\x00\x05\x00\x24\x00\x41\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x24\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x2b\x00\x5d\x00\x5e\x00\x2b\x00\x57\x00\x61\x00\x18\x00\x24\x00\x25\x00\x26\x00\x5d\x00\x5e\x00\x2d\x00\x18\x00\x61\x00\x1a\x00\x22\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x2d\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x28\x00\x29\x00\x3e\x00\x2b\x00\x2c\x00\x2d\x00\x23\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x5b\x00\x5c\x00\x5d\x00\x08\x00\x09\x00\x0a\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x08\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x24\x00\x25\x00\x26\x00\x5d\x00\x5e\x00\x02\x00\x28\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x25\x00\x26\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x24\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x45\x00\x46\x00\x47\x00\x48\x00\x32\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x32\x00\x5d\x00\x5e\x00\x45\x00\x46\x00\x47\x00\x28\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x5d\x00\x5e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x57\x00\x5d\x00\x5e\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x61\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x13\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x23\x00\x24\x00\x25\x00\x26\x00\x2d\x00\x23\x00\x28\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x5d\x00\x5e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x57\x00\x58\x00\x2b\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x61\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x3b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x22\x00\x13\x00\x23\x00\x24\x00\x25\x00\x26\x00\x23\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x26\x00\x26\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x24\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x24\x00\x25\x00\x26\x00\x27\x00\x24\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x13\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x22\x00\x24\x00\x25\x00\x26\x00\x27\x00\x13\x00\x24\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x21\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x05\x00\x1e\x00\x13\x00\x08\x00\x09\x00\x0a\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2d\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5d\x00\x5e\x00\x33\x00\x13\x00\x61\x00\x2b\x00\x63\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x05\x00\x13\x00\x2d\x00\x08\x00\x09\x00\x0a\x00\x11\x00\x12\x00\x13\x00\x14\x00\x32\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x2d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x11\x00\x12\x00\x13\x00\x14\x00\x24\x00\x25\x00\x26\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x2b\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x5d\x00\x3c\x00\x5f\x00\x60\x00\x22\x00\x27\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5d\x00\x2d\x00\x5f\x00\x60\x00\x12\x00\x13\x00\x14\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x12\x00\x13\x00\x14\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5d\x00\x33\x00\x5f\x00\x60\x00\x5b\x00\x5c\x00\x5d\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x05\x00\x00\x00\x09\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x21\x00\x5f\x00\x60\x00\x16\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x2d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x17\x00\x5d\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x5d\x00\x5e\x00\x3c\x00\x2c\x00\x61\x00\x2a\x00\x01\x00\x2d\x00\x03\x00\x04\x00\x05\x00\x3e\x00\x3e\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x39\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x4f\x00\x4f\x00\x08\x00\x09\x00\x0a\x00\x18\x00\x18\x00\x5d\x00\x5e\x00\x1b\x00\x1c\x00\x61\x00\x4f\x00\x5d\x00\x14\x00\x15\x00\x22\x00\x4f\x00\x18\x00\x18\x00\x4f\x00\x27\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x31\x00\xff\xff\x27\x00\xff\xff\x29\x00\x36\x00\xff\xff\x2c\x00\xff\xff\x3a\x00\xff\xff\x30\x00\x31\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x38\x00\x39\x00\x08\x00\x09\x00\x0a\x00\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\x10\x00\x18\x00\x35\x00\x36\x00\x37\x00\x1c\x00\x1d\x00\x3a\x00\x18\x00\x3c\x00\x3d\x00\x22\x00\x3f\x00\x40\x00\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x38\x00\x39\x00\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\x15\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\x04\x00\xff\xff\xff\xff\x22\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x38\x00\x39\x00\xff\xff\x04\x00\xff\xff\x22\x00\x23\x00\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x18\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x29\x00\x22\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x29\x00\xff\xff\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x4d\x00\x4e\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\x18\x00\x61\x00\x5d\x00\x5e\x00\x1c\x00\xff\xff\x61\x00\x04\x00\xff\xff\xff\xff\x22\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x27\x00\xff\xff\x5d\x00\x5e\x00\x2b\x00\xff\xff\x61\x00\x2e\x00\xff\xff\x04\x00\x31\x00\xff\xff\x18\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\x04\x00\x27\x00\xff\xff\x18\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x18\x00\x3b\x00\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x04\x00\xff\xff\x3b\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x2d\x00\xff\xff\x31\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2d\x00\x3b\x00\x18\x00\xff\xff\x1a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2d\x00\x22\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\x5d\x00\x5e\x00\x3a\x00\xff\xff\x61\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x2d\x00\xff\xff\x61\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xff\xff\x5d\x00\x5e\x00\x04\x00\xff\xff\x61\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\x27\x00\xff\xff\x61\x00\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\xff\xff\x04\x00\x31\x00\x1c\x00\x33\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\x28\x00\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x18\x00\x59\x00\x5a\x00\x31\x00\x1c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x22\x00\xff\xff\x64\x00\x65\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x04\x00\x31\x00\x06\x00\x33\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\x19\x00\x04\x00\xff\xff\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\xff\xff\x04\x00\x31\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\xff\xff\x04\x00\x31\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\x18\x00\xff\xff\x3a\x00\x31\x00\x1c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x31\x00\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x15\x00\xff\xff\x61\x00\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x18\x00\xff\xff\xff\xff\x31\x00\x1c\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\x4e\x00\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\x4e\x00\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\xff\xff\xff\xff\x1c\x00\x1d\x00\x27\x00\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x18\x00\xff\xff\x27\x00\x31\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\x31\x00\x04\x00\xff\xff\x27\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x04\x00\xff\xff\xff\xff\x31\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x04\x00\xff\xff\xff\xff\x18\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x22\x00\x23\x00\xff\xff\x1c\x00\xff\xff\x27\x00\xff\xff\x18\x00\xff\xff\x22\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x27\x00\x31\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x27\x00\x04\x00\x31\x00\xff\xff\x2b\x00\x08\x00\x09\x00\x0a\x00\x04\x00\xff\xff\x31\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x18\x00\x59\x00\xff\xff\xff\xff\x1c\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x22\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x22\x00\xff\xff\x2b\x00\xff\xff\xff\xff\x27\x00\x13\x00\xff\xff\x31\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x15\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x15\x00\x2d\x00\x3f\x00\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x18\x00\x59\x00\xff\xff\x25\x00\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x22\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\x27\x00\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\xff\xff\x3f\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x4f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\x2d\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\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"#

happyTable :: HappyAddr
happyTable :: HappyAddr
happyTable = Addr# -> HappyAddr
HappyA# "\x00\x00\xd6\x01\x7c\x00\x7d\x00\x7e\x00\x92\x00\x65\x01\x62\x01\x26\x00\x2d\x02\x27\x00\x28\x00\x7f\x00\x80\x00\x63\x01\x81\x00\x82\x00\x83\x00\x1d\x01\xac\x00\x84\x00\x85\x00\x86\x00\xde\x01\x7d\x00\x7e\x00\x5d\x00\x5e\x00\xd7\x01\xc4\x00\x47\x01\x1a\x01\xd8\x01\x7f\x00\x80\x00\x6c\x00\x81\x00\x82\x00\x83\x00\x5d\x00\x5e\x00\x84\x00\x85\x00\x86\x00\x29\x02\x7d\x00\x7e\x00\x5d\x00\x5e\x00\xff\xff\x5a\x01\x5b\x01\xc5\x00\x1b\x01\x7f\x00\x80\x00\x03\x01\x81\x00\x82\x00\x83\x00\xbb\x00\x5c\x01\x84\x00\x85\x00\x86\x00\x84\x01\x1b\x01\x52\x01\x5d\x00\x5e\x00\xc6\x00\x60\x00\x61\x00\x85\x01\x80\x00\x07\x02\x81\x00\x82\x00\x83\x00\x4d\x01\x75\x01\x84\x00\x85\x00\x86\x00\x60\x00\x61\x00\x7b\x00\x5d\x00\x5e\x00\x12\x00\x9b\x00\x9b\x01\x60\x00\x61\x00\x12\x00\x62\x00\x2e\x02\x12\x00\x48\x01\xad\x00\x21\x01\x26\x00\xae\x00\xff\x00\xaf\x00\x12\x00\x13\x00\x12\x00\x62\x00\x88\x01\x22\x01\x94\x00\x82\x01\x60\x00\x61\x00\x12\x00\x62\x00\x41\x01\x7c\x00\xaf\x00\x83\x01\x80\x00\x41\x01\x81\x00\x82\x00\x83\x00\x12\x00\x9b\x00\x84\x00\x85\x00\x86\x00\xc4\x00\x60\x00\x61\x00\x5d\x00\x5e\x00\x12\x00\x62\x00\xed\x01\x12\x00\x9b\x00\x12\x00\x9b\x00\xaf\x00\x12\x00\x9b\x00\x70\x00\xab\x00\x71\x00\x92\x00\x93\x00\x72\x00\x70\x00\x73\x00\xc5\x00\x12\x00\x62\x00\x74\x00\x75\x00\x76\x00\x12\x00\x9b\x00\xac\x00\x5d\x00\x5e\x00\x12\x00\x9b\x00\x8f\x00\x80\x00\x94\x00\x81\x00\x82\x00\x83\x00\x4f\x00\x80\x01\x84\x00\x85\x00\x86\x00\x60\x01\x60\x00\x61\x00\x5d\x00\x5e\x00\x8d\x01\x80\x00\x61\x01\x81\x00\x82\x00\x83\x00\x81\x01\x5c\x00\x84\x00\x85\x00\x86\x00\x5d\x00\x5e\x00\x4a\x01\x5d\x00\x5e\x00\x41\x01\x5f\x00\xad\x00\x12\x00\x62\x00\x34\x01\xa0\x01\x98\x00\x99\x00\x60\x00\x61\x00\x0b\x02\x80\x00\xab\x01\x81\x00\x82\x00\x83\x00\xea\x01\x92\x00\x84\x00\x85\x00\x86\x00\x12\x00\x9b\x00\xeb\x01\x5d\x00\x5e\x00\x60\x00\x61\x00\xb2\x00\x12\x00\x9b\x00\x12\x00\x62\x00\x2b\x01\x2c\x01\x5c\x00\x35\x01\xb3\x00\x4b\x01\x60\x00\x61\x00\x6e\x01\x60\x00\x61\x00\x96\x01\xaf\x00\x81\x00\x82\x00\x83\x00\x12\x00\x62\x00\x84\x00\x85\x00\x86\x00\x4b\x01\x6f\x01\x70\x01\x5d\x00\x5e\x00\x63\xff\x12\x00\x9b\x00\x12\x00\x62\x00\xe1\x00\x12\x00\x62\x00\x12\x00\x9b\x00\x60\x00\x61\x00\x95\x01\x6e\x01\x81\x00\x82\x00\x83\x00\x12\x00\x9b\x00\x84\x00\x85\x00\x86\x00\xd2\x01\x20\x01\x0b\x01\x5d\x00\x5e\x00\x3b\x00\x70\x01\x8e\x00\x04\x02\x73\x00\x05\x02\x12\x00\x62\x00\x74\x00\x75\x00\x76\x00\xac\x00\x3c\x00\x0e\x00\x5d\x00\x5e\x00\x60\x00\x61\x00\x3d\x00\x3e\x00\xac\x00\x3f\x00\x40\x00\x41\x00\x5d\x00\x5e\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xfb\x00\xad\x00\x92\x00\xb4\x00\x1e\x01\x12\x00\x62\x00\x5d\x00\x5e\x00\x60\x00\x61\x00\x5c\x00\xff\xff\xb4\x00\xb5\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\xa1\x00\xff\xff\x99\x01\xe2\x00\x7c\x01\x97\x01\x60\x00\x61\x00\x5d\x00\x5e\x00\x39\x01\xa2\x00\xa3\x00\x12\x00\x62\x00\xe1\x00\x60\x00\x61\x00\x12\x00\x13\x00\xb0\x01\x3a\x01\x4a\x00\xaf\x01\x5d\x00\x5e\x00\xaf\x00\x5d\x00\x5e\x00\x12\x00\x62\x00\xac\x00\x07\x02\x60\x00\x61\x00\x5d\x00\x5e\x00\xff\xff\xd0\x01\x12\x00\x62\x00\x60\x00\x61\x00\x60\x00\x61\x00\xb4\x00\x6e\x01\xad\x00\x12\x00\x9b\x00\x2f\x01\xd1\x01\x7a\x01\x60\x00\x61\x00\x69\x01\x12\x00\x62\x00\x7b\x01\x6a\x01\xe4\xff\x70\x01\xa9\x00\x7c\x01\x12\x00\x62\x00\x12\x00\x62\x00\x6c\x01\x60\x00\x61\x00\x8d\x00\x60\x00\x61\x00\xe4\xff\xe4\xff\x12\x00\x62\x00\x58\x01\x6d\x01\x60\x00\x61\x00\x30\x01\x21\x02\xe2\x00\x48\x00\x49\x00\x66\x01\x63\x01\xa2\x00\x59\x01\xaf\x00\x12\x00\x62\x00\xe0\x01\x12\x00\x62\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa8\x00\x64\x00\x12\x00\x62\x00\x44\x01\x17\x00\x6e\x01\x78\x00\xa7\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\x9b\x00\x65\x00\x66\x00\x67\x00\x68\x00\x45\x01\x46\x01\x03\x02\x70\x01\xff\xff\x12\x00\x13\x00\x1c\x00\xba\xff\x4a\x00\x64\x00\x69\x00\x8e\x00\x00\x02\x17\x00\x44\x01\x78\x00\x6a\x00\x19\x00\x1a\x00\x1b\x00\x8c\x00\x6b\x00\x65\x00\x66\x00\x67\x00\x68\x00\x01\x02\x02\x02\xf9\x01\x46\x01\x8d\x00\x6c\x00\xff\xff\x1c\x00\xba\xff\x12\x00\x13\x00\x69\x00\xa3\x01\x14\x00\x15\x00\x64\x01\x61\x01\x6a\x00\x79\x00\xdd\xff\x64\x00\x17\x00\x6b\x00\x5c\x01\x17\x00\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x77\x01\x6c\x00\x65\x00\x66\x00\x67\x00\x68\x00\x23\x02\xc8\x01\x98\x00\x99\x00\x1c\x00\xde\x00\x99\x00\x1c\x00\x79\x00\xde\xff\xa1\x01\x69\x00\x16\x01\xa3\x01\xa6\x00\x92\x00\x17\x01\x6a\x00\x23\x01\x5a\x01\xa5\x01\x5c\x01\x6b\x00\x5e\x01\x5c\x01\x12\x00\x9b\x00\x64\x00\x12\x00\xdf\x00\x5c\x01\x17\x00\x6c\x00\xba\xff\x88\x00\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\xf1\x01\xff\xff\x76\x01\x9f\x01\x98\x00\x99\x00\x1c\x00\xba\xff\x5a\x01\x09\x02\x69\x00\x5c\x01\xec\x00\x0f\x00\x10\x00\x11\x00\x6a\x00\x82\x01\xa3\x01\x5c\x01\xe7\xfe\x6b\x00\x96\x00\x10\x00\x11\x00\xe7\xfe\x64\x00\x12\x00\x9b\x00\x5c\x01\x17\x00\x6c\x00\xba\xff\xec\xff\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\x79\x00\x50\x01\x99\x00\x61\xff\x71\x01\x14\x01\x1c\x00\xba\xff\x61\xff\x15\x01\x69\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x68\x01\x6a\x00\xed\x00\x30\x00\x31\x00\x32\x00\x6b\x00\x33\x00\xee\x00\x12\x00\x9b\x00\x12\x00\x13\x00\x92\x00\x32\x01\x34\x00\x6c\x00\x33\x01\x91\x00\x11\x01\x12\x00\x9b\x00\x67\x01\xb8\x01\x64\x00\xe6\x01\xe7\x01\x50\x01\x17\x00\x79\x00\xba\xff\x88\x00\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\xc5\x01\xc6\x01\xc7\x01\xc8\x01\x98\x00\x99\x00\x1c\x00\xba\xff\x0f\x01\x17\x00\x69\x00\x4d\x01\xb7\x01\x19\x00\x1a\x00\x1b\x00\x6a\x00\xc1\x00\xc2\x00\x17\x00\x38\x01\x6b\x00\xb4\x01\x19\x00\x1a\x00\x1b\x00\xb5\x01\x12\x00\x9b\x00\x1c\x00\x34\x01\x6c\x00\xd1\x00\x0f\x00\x10\x00\x11\x00\x37\x01\xd2\x00\x3e\x00\x1c\x00\x3f\x00\x40\x00\x41\x00\x2f\x01\x79\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x64\x00\x2d\x01\xec\x00\xd3\x00\x17\x00\x6e\x01\xba\xff\x00\x02\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\x92\x00\x0f\x02\x70\x01\x0e\x02\x02\x02\x14\x01\x1c\x00\xba\xff\x2e\x01\x34\x02\x69\x00\x13\x01\x26\x01\x27\x01\x28\x01\x25\x01\x6a\x00\x29\x01\x24\x01\x12\x00\x13\x00\x6b\x00\x12\x01\x4a\x00\x0b\x01\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\xfb\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x04\x01\x17\x00\x03\x01\xe6\x00\xe7\x00\x19\x00\x1a\x00\x1b\x00\xde\x01\x79\x00\x50\x00\x2a\x01\x25\x01\x1c\x00\xe8\x00\xe9\x00\xea\x00\x51\x00\xba\x01\xbb\x01\xfb\x00\x1c\x00\xc8\x00\x52\x00\xd5\x00\xc1\x01\xdb\x01\xcb\x00\x53\x00\xdd\x01\x54\x00\xa6\x00\x36\x00\x55\x00\x37\x00\x17\x00\x18\x00\x56\x00\x57\x00\x19\x00\x1a\x00\x1b\x00\x1e\x00\x1f\x00\x20\x00\xd6\x00\xd7\x00\x23\x00\x24\x00\x25\x00\x26\x00\x9e\x00\x98\x00\x99\x00\x9f\x00\x1c\x00\xdc\x01\xcd\x00\x13\x00\x38\x00\x1d\x01\x4a\x00\xd0\x01\x17\x00\xba\x01\x39\x00\xf0\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x06\x01\x32\x00\xb6\x01\x33\x00\x12\x00\x9b\x00\xb3\x01\x12\x00\x13\x00\x3b\x00\xae\x01\x34\x00\x1c\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xdb\x00\x3e\x00\xac\x00\x3f\x00\x40\x00\x41\x00\xdc\x00\xdd\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xd7\x00\x3e\x00\x92\x00\x3f\x00\x40\x00\x41\x00\x10\x01\x11\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0e\x01\x0f\x01\x26\x00\xd8\x00\x27\x00\x01\x01\x17\x00\x18\x00\xaa\x01\xd9\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\xf8\x00\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\xab\x01\x12\x00\x13\x00\x9e\x01\xf6\x00\x4a\x00\x1c\x00\x5e\x01\x10\x00\x11\x00\x12\x00\x13\x00\xa9\x01\x1c\x00\xf4\x00\x19\x02\x1d\x00\x12\x00\x13\x00\xdb\x00\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x95\x01\xcc\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x6d\x00\x3e\x00\x79\x00\x3f\x00\x40\x00\x41\x00\x35\x02\x36\x02\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xe8\x00\xe9\x00\x0b\x01\x19\x00\x1a\x00\x1b\x00\x22\x02\xc7\x01\xc8\x01\x98\x00\x99\x00\x12\x00\x13\x00\x51\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x8d\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xae\x01\x10\x00\x11\x00\x12\x00\x9b\x00\x8b\x01\x96\x00\x12\x00\x13\x00\xce\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\xa9\x00\x11\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xa7\x01\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x88\x01\x12\x00\x13\x00\xcb\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x79\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x87\x01\x12\x00\x9b\x00\x9c\x01\x98\x00\x99\x00\x0d\x01\x12\x00\x13\x00\xca\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x12\x00\x71\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x09\x01\x12\x00\x9b\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\x13\x00\x12\x00\x89\x01\xf4\x00\x12\x00\x13\x00\xc9\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xfd\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x00\x01\x0f\x00\x10\x00\x11\x00\xfb\x01\xfc\x01\x33\x02\x12\x00\x13\x00\xc4\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x12\x00\xfd\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xf2\x00\xf3\x00\xf6\x01\x19\x00\x1a\x00\x1b\x00\x12\x00\x13\x00\x12\x00\x17\x02\xf4\x00\x12\x00\x13\x00\xc3\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xae\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x01\x92\x00\xe4\x00\x0f\x00\x10\x00\x11\x00\xed\x01\x12\x00\x13\x00\xbf\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\xe2\x00\xe1\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x92\x01\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x53\x01\x10\x00\x11\x00\x56\x01\x2f\x01\x12\x00\x13\x00\xbd\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x92\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xa6\x00\x53\x01\x10\x00\x11\x00\x55\x01\x92\x00\x2f\x01\x12\x00\x13\x00\xac\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\xe5\x01\xe4\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x2a\x00\xe3\x01\x92\x00\x19\x00\x1a\x00\x1b\x00\x53\x01\x10\x00\x11\x00\x54\x01\xe1\x01\x12\x00\x13\x00\xf6\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x12\x00\x13\x00\x27\x02\x92\x00\xbc\x00\xb6\x01\xbd\x00\x12\x00\x13\x00\xee\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\x20\x02\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x18\x00\x92\x00\x1c\x02\x19\x00\x1a\x00\x1b\x00\x8e\x01\x8f\x01\x74\x00\x90\x01\x1b\x02\x12\x00\x13\x00\xe8\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x1a\x02\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0c\x02\x8f\x01\x74\x00\x90\x01\xef\x01\x10\x00\x11\x00\x12\x00\x13\x00\xe7\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x2b\xff\x79\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x2b\xff\x2b\xff\x2b\xff\x2b\xff\x2b\xff\x2b\xff\x26\x00\x2b\xff\x27\x00\x8a\x00\x15\x02\x11\x02\x12\x00\x13\x00\xe1\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x26\x00\x2d\x02\x27\x00\x77\x01\x16\x02\x74\x00\x90\x01\x12\x00\x13\x00\x24\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe4\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x15\x02\x74\x00\x90\x01\x12\x00\x13\x00\x21\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x26\x00\x38\x02\x27\x00\x91\x01\xe8\x00\x31\x02\x0b\x01\x12\x00\x13\x00\x12\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x2a\x00\x79\x00\x6e\x00\x19\x00\x1a\x00\x1b\x00\x26\x00\x5a\x00\x27\x00\x03\x02\x59\x00\x12\x00\x13\x00\x2f\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xe3\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x78\x01\x57\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x12\x00\x13\x00\x25\x00\x2b\x00\x4a\x00\x6a\x01\x36\x00\xe3\x00\x37\x00\x17\x00\x18\x00\xc0\x01\xbe\x01\x19\x00\x1a\x00\x1b\x00\x8b\x01\xb8\x01\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\xf0\x01\x25\x02\x19\x00\x1a\x00\x1b\x00\x0f\x02\x1c\x00\x12\x00\x13\x00\xd6\x01\x38\x00\x4a\x00\xd3\x01\x38\x02\x4f\x00\x50\x00\x39\x00\x1c\x02\x1c\x00\x30\x02\x36\x02\xf1\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x53\x00\x00\x00\x54\x00\xd7\x01\x00\x00\x55\x00\x00\x00\xd8\x01\x00\x00\x56\x00\x57\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x58\x00\x59\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\xff\x01\x1c\x00\xc6\x00\x48\x00\xc7\x00\x51\x00\xdb\x00\xc8\x00\x1c\x00\xc9\x00\xca\x00\x52\x00\xcb\x00\xcc\x00\x00\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x58\x00\x59\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x13\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x50\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x52\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x69\x00\x58\x00\x59\x00\x00\x00\x17\x00\x00\x00\x9d\x00\x9e\x00\x19\x00\x1a\x00\x1b\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x1c\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xcd\x01\x74\x01\x3f\x00\x40\x00\x41\x00\x00\x00\x00\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xb1\x01\x00\x00\x3f\x00\x40\x00\x41\x00\x00\x00\x00\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xfd\x00\x2e\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\xfe\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x1c\x00\x34\x00\x12\x00\x13\x00\x69\x00\x00\x00\x4a\x00\x17\x00\x00\x00\x00\x00\x9d\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6b\x00\x00\x00\x12\x00\x13\x00\x32\x01\x00\x00\x4a\x00\x33\x01\x00\x00\x17\x00\x6c\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x69\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x17\x00\x6b\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x1c\x00\xb1\x00\x00\x00\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x17\x00\x00\x00\x4f\x01\x00\x00\x19\x00\x1a\x00\x1b\x00\x41\x00\x00\x00\x6c\x00\x18\x01\x19\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x41\x00\xb1\x00\x1c\x00\x00\x00\xa5\x00\xb9\x00\xba\x00\x46\x00\x47\x00\x48\x00\x49\x00\x41\x00\xa6\x00\x00\x00\x00\x00\x00\x00\xb7\x00\xb8\x00\x46\x00\x47\x00\x48\x00\x49\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xba\x00\x46\x00\x47\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x01\xbb\x01\x12\x00\x13\x00\xc8\x00\x00\x00\x4a\x00\xca\x00\x00\x00\xcb\x00\xc2\x01\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x41\x00\x00\x00\x4a\x00\x00\x00\x00\x00\xb7\x00\xb8\x00\x46\x00\x47\x00\x48\x00\x49\x00\x64\x00\x00\x00\xcd\x00\x13\x00\x17\x00\x00\x00\x4a\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x12\x00\x13\x00\x6b\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x6c\x00\x38\x00\xb7\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x39\x00\x65\x00\x66\x00\x67\x00\x68\x00\xf1\x00\x40\x01\x00\x00\x3a\x01\x30\x00\x31\x00\x32\x00\x1c\x00\x33\x00\x3b\x01\x3b\x00\x69\x00\x3c\x01\x13\x00\x00\x00\x00\x00\x34\x00\x6a\x00\x00\x00\x3d\x01\x3e\x01\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x17\x00\x6c\x00\xbb\xff\x99\x01\x19\x00\x1a\x00\x7e\x01\x7f\x01\xbb\xff\x65\x00\x66\x00\x67\x00\x68\x00\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\xbb\xff\x17\x00\x00\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x65\x00\x66\x00\x67\x00\x68\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x6c\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x65\x00\x66\x00\x67\x00\x68\x00\x6b\x00\x9b\x01\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x6c\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x65\x00\x66\x00\x67\x00\x68\x00\x6b\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xba\x01\xbb\x01\x1c\x00\x00\x00\xc8\x00\x6c\x00\x69\x00\xca\x00\x00\x00\xcb\x00\xbc\x01\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x00\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x13\x00\x50\x00\x00\x00\x4a\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\xcf\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x52\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x52\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\xd0\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\xcf\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x52\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x51\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x38\x00\x36\x00\x00\x00\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3a\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\xfb\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\xfc\x00\x30\x00\x31\x00\x32\x00\xf1\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\xf8\x00\x36\x00\xa7\x01\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\xf6\x00\xfb\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x04\x01\x30\x00\x31\x00\x32\x00\xf1\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\xa5\x01\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\xf1\x00\x30\x00\x31\x00\x32\x00\x3a\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\x0b\x02\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\xf6\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x40\x01\x30\x00\x31\x00\x32\x00\xf1\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\xf4\x01\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x17\x01\x30\x00\x31\x00\x32\x00\x3a\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\x12\x02\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x00\x00\x00\x00\x69\x00\xa1\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x6b\x00\x3b\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x6c\x00\x17\x00\x00\x00\xf1\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x3b\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x17\x00\x00\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x9d\x00\x9e\x00\x00\x00\x69\x00\x00\x00\x6b\x00\x00\x00\x1c\x00\x00\x00\x9d\x00\x00\x00\x69\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x43\x01\x6b\x00\x17\x00\x6c\x00\x00\x00\x09\x02\x19\x00\x1a\x00\x1b\x00\x17\x00\x00\x00\x6c\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x08\x01\x30\x00\x31\x00\x32\x00\x1c\x00\x33\x00\x00\x00\x00\x00\x69\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x9d\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x9d\x00\x00\x00\x14\x02\x00\x00\x00\x00\x6b\x00\xfc\xfe\x00\x00\x6c\x00\xfc\xfe\xfc\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\x00\x00\xfc\xfe\xfc\xfe\xfc\xfe\x50\x00\x00\x00\xfc\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xfe\xfc\xfe\xfc\xfe\x00\x00\x00\x00\x00\x00\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\x50\x00\x6e\xff\xfc\xfe\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x00\x00\x70\xff\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\xbf\x00\x00\x00\x00\x00\x17\x00\x18\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x1c\x00\x33\x00\x00\x00\xf8\xfe\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xc0\x00\xf8\xfe\xf8\xfe\xf8\xfe\x00\x00\xc1\x00\x00\x00\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\x00\x00\x00\x00\xf8\xfe\x46\x01\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x93\x01\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xf9\x01\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x2a\x02\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x28\x02\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xd3\x01\x00\x00\x34\x00\x00\x00\x00\x00\xd4\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\xe6\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x07\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x05\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xd9\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xd8\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xa2\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x9e\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xf4\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xf2\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xe9\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xd4\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1e\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1d\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x2b\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x27\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

happyReduceArr :: Array
  Int
  (Int#
   -> Located Token
   -> Int#
   -> Happy_IntList
   -> HappyStk HappyAbsSyn
   -> ParseM HappyAbsSyn)
happyReduceArr = (Int, Int)
-> [(Int,
     Int#
     -> Located Token
     -> Int#
     -> Happy_IntList
     -> HappyStk HappyAbsSyn
     -> ParseM HappyAbsSyn)]
-> Array
     Int
     (Int#
      -> Located Token
      -> Int#
      -> Happy_IntList
      -> HappyStk HappyAbsSyn
      -> ParseM HappyAbsSyn)
forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
Happy_Data_Array.array (12, 299) [
	(12 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_12),
	(13 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_13),
	(14 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_14),
	(15 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_15),
	(16 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_16),
	(17 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_17),
	(18 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_18),
	(19 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_19),
	(20 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_20),
	(21 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_21),
	(22 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_22),
	(23 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_23),
	(24 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_24),
	(25 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_25),
	(26 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_26),
	(27 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_27),
	(28 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_28),
	(29 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_29),
	(30 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_30),
	(31 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_31),
	(32 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_32),
	(33 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_33),
	(34 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_34),
	(35 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_35),
	(36 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_36),
	(37 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_37),
	(38 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_38),
	(39 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_39),
	(40 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_40),
	(41 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_41),
	(42 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_42),
	(43 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_43),
	(44 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_44),
	(45 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_45),
	(46 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_46),
	(47 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_47),
	(48 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_48),
	(49 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_49),
	(50 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_50),
	(51 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_51),
	(52 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_52),
	(53 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_53),
	(54 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_54),
	(55 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_55),
	(56 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_56),
	(57 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_57),
	(58 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_58),
	(59 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_59),
	(60 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_60),
	(61 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_61),
	(62 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_62),
	(63 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_63),
	(64 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_64),
	(65 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_65),
	(66 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_66),
	(67 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_67),
	(68 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_68),
	(69 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_69),
	(70 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_70),
	(71 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_71),
	(72 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_72),
	(73 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_73),
	(74 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_74),
	(75 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_75),
	(76 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_76),
	(77 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_77),
	(78 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_78),
	(79 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_79),
	(80 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_80),
	(81 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_81),
	(82 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_82),
	(83 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_83),
	(84 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_84),
	(85 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_85),
	(86 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_86),
	(87 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_87),
	(88 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_88),
	(89 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_89),
	(90 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_90),
	(91 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_91),
	(92 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_92),
	(93 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_93),
	(94 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_94),
	(95 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_95),
	(96 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_96),
	(97 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_97),
	(98 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_98),
	(99 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_99),
	(100 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_100),
	(101 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_101),
	(102 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_102),
	(103 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_103),
	(104 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_104),
	(105 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_105),
	(106 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_106),
	(107 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_107),
	(108 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_108),
	(109 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_109),
	(110 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_110),
	(111 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_111),
	(112 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_112),
	(113 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_113),
	(114 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_114),
	(115 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_115),
	(116 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_116),
	(117 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_117),
	(118 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_118),
	(119 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_119),
	(120 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_120),
	(121 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_121),
	(122 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_122),
	(123 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_123),
	(124 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_124),
	(125 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_125),
	(126 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_126),
	(127 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_127),
	(128 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_128),
	(129 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_129),
	(130 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_130),
	(131 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_131),
	(132 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_132),
	(133 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_133),
	(134 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_134),
	(135 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_135),
	(136 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_136),
	(137 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_137),
	(138 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_138),
	(139 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_139),
	(140 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_140),
	(141 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_141),
	(142 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_142),
	(143 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_143),
	(144 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_144),
	(145 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_145),
	(146 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_146),
	(147 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_147),
	(148 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_148),
	(149 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_149),
	(150 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_150),
	(151 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_151),
	(152 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_152),
	(153 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_153),
	(154 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_154),
	(155 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_155),
	(156 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_156),
	(157 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_157),
	(158 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_158),
	(159 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_159),
	(160 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_160),
	(161 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_161),
	(162 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_162),
	(163 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_163),
	(164 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_164),
	(165 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_165),
	(166 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_166),
	(167 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_167),
	(168 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_168),
	(169 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_169),
	(170 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_170),
	(171 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_171),
	(172 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_172),
	(173 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_173),
	(174 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_174),
	(175 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_175),
	(176 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_176),
	(177 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_177),
	(178 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_178),
	(179 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_179),
	(180 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_180),
	(181 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_181),
	(182 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_182),
	(183 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_183),
	(184 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_184),
	(185 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_185),
	(186 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_186),
	(187 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_187),
	(188 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_188),
	(189 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_189),
	(190 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_190),
	(191 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_191),
	(192 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_192),
	(193 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_193),
	(194 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_194),
	(195 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_195),
	(196 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_196),
	(197 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_197),
	(198 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_198),
	(199 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_199),
	(200 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_200),
	(201 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_201),
	(202 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_202),
	(203 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_203),
	(204 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_204),
	(205 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_205),
	(206 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_206),
	(207 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_207),
	(208 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_208),
	(209 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_209),
	(210 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_210),
	(211 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_211),
	(212 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_212),
	(213 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_213),
	(214 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_214),
	(215 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_215),
	(216 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_216),
	(217 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_217),
	(218 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_218),
	(219 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_219),
	(220 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_220),
	(221 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_221),
	(222 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_222),
	(223 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_223),
	(224 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_224),
	(225 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_225),
	(226 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_226),
	(227 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_227),
	(228 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_228),
	(229 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_229),
	(230 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_230),
	(231 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_231),
	(232 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_232),
	(233 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_233),
	(234 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_234),
	(235 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_235),
	(236 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_236),
	(237 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_237),
	(238 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_238),
	(239 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_239),
	(240 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_240),
	(241 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_241),
	(242 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_242),
	(243 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_243),
	(244 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_244),
	(245 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_245),
	(246 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_246),
	(247 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_247),
	(248 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_248),
	(249 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_249),
	(250 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_250),
	(251 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_251),
	(252 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_252),
	(253 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_253),
	(254 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_254),
	(255 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_255),
	(256 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_256),
	(257 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_257),
	(258 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_258),
	(259 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_259),
	(260 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_260),
	(261 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_261),
	(262 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_262),
	(263 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_263),
	(264 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_264),
	(265 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_265),
	(266 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_266),
	(267 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_267),
	(268 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_268),
	(269 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_269),
	(270 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_270),
	(271 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_271),
	(272 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_272),
	(273 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_273),
	(274 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_274),
	(275 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_275),
	(276 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_276),
	(277 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_277),
	(278 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_278),
	(279 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_279),
	(280 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_280),
	(281 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_281),
	(282 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_282),
	(283 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_283),
	(284 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_284),
	(285 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_285),
	(286 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_286),
	(287 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_287),
	(288 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_288),
	(289 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_289),
	(290 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_290),
	(291 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_291),
	(292 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_292),
	(293 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_293),
	(294 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_294),
	(295 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_295),
	(296 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_296),
	(297 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_297),
	(298 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_298),
	(299 , Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_299)
	]

happy_n_terms :: Int
happy_n_terms = 64 :: Int
happy_n_nonterms :: Int
happy_n_nonterms = 102 :: Int

happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_12 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_12 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 6# 0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_12
happyReduction_12 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_12 (happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap111
happyOut111 HappyAbsSyn
happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_5 of { (HappyWrap16 happy_var_5 :: ([Located Import], [TopDecl PName])
happy_var_5) -> 
	Module PName -> HappyAbsSyn
happyIn15
		 (Located ModName
-> ([Located Import], [TopDecl PName]) -> Module PName
mkModule Located ModName
happy_var_2 ([Located Import], [TopDecl PName])
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_13 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_13 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 8# 0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_13
happyReduction_13 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_13 (happy_x_8 :: HappyAbsSyn
happy_x_8 `HappyStk`
	happy_x_7 :: HappyAbsSyn
happy_x_7 `HappyStk`
	happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap111
happyOut111 HappyAbsSyn
happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap111
happyOut111 HappyAbsSyn
happy_x_4 of { (HappyWrap111 happy_var_4 :: Located ModName
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_7 of { (HappyWrap16 happy_var_7 :: ([Located Import], [TopDecl PName])
happy_var_7) -> 
	Module PName -> HappyAbsSyn
happyIn15
		 (Located ModName
-> Located ModName
-> ([Located Import], [TopDecl PName])
-> Module PName
mkModuleInstance Located ModName
happy_var_2 Located ModName
happy_var_4 ([Located Import], [TopDecl PName])
happy_var_7
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_14 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_14 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  0# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_14
happyReduction_14 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_14 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap16
happyOut16 HappyAbsSyn
happy_x_2 of { (HappyWrap16 happy_var_2 :: ([Located Import], [TopDecl PName])
happy_var_2) -> 
	Module PName -> HappyAbsSyn
happyIn15
		 (([Located Import], [TopDecl PName]) -> Module PName
mkAnonymousModule ([Located Import], [TopDecl PName])
happy_var_2
	)}

happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_15 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_15 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_15
happyReduction_15 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_15 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_3 of { (HappyWrap26 happy_var_3 :: [TopDecl PName]
happy_var_3) -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([Located Import] -> [Located Import]
forall a. [a] -> [a]
reverse [Located Import]
happy_var_1, [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3)
	)}}

happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_16 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_16 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_16
happyReduction_16 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_16 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_3 of { (HappyWrap26 happy_var_3 :: [TopDecl PName]
happy_var_3) -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([Located Import] -> [Located Import]
forall a. [a] -> [a]
reverse [Located Import]
happy_var_1, [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3)
	)}}

happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_17 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_17 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  1# HappyAbsSyn -> HappyAbsSyn
happyReduction_17
happyReduction_17 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_17 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
happy_var_1) -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([Located Import] -> [Located Import]
forall a. [a] -> [a]
reverse [Located Import]
happy_var_1, [])
	)}

happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_18 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_18 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  1# HappyAbsSyn -> HappyAbsSyn
happyReduction_18
happyReduction_18 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_18 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_1 of { (HappyWrap26 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([], [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_1)
	)}

happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_19 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_19 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  1# HappyAbsSyn
happyReduction_19
happyReduction_19 :: HappyAbsSyn
happyReduction_19  =  ([Located Import], [TopDecl PName]) -> HappyAbsSyn
happyIn16
		 (([], [])
	)

happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_20 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_20 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_20
happyReduction_20 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_20 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_3 of { (HappyWrap18 happy_var_3 :: Located Import
happy_var_3) -> 
	[Located Import] -> HappyAbsSyn
happyIn17
		 (Located Import
happy_var_3 Located Import -> [Located Import] -> [Located Import]
forall k1. k1 -> [k1] -> [k1]
: [Located Import]
happy_var_1
	)}}

happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_21 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_21 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_21
happyReduction_21 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_21 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap17
happyOut17 HappyAbsSyn
happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_3 of { (HappyWrap18 happy_var_3 :: Located Import
happy_var_3) -> 
	[Located Import] -> HappyAbsSyn
happyIn17
		 (Located Import
happy_var_3 Located Import -> [Located Import] -> [Located Import]
forall k1. k1 -> [k1] -> [k1]
: [Located Import]
happy_var_1
	)}}

happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_22 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_22 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  2# HappyAbsSyn -> HappyAbsSyn
happyReduction_22
happyReduction_22 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_22 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap18
happyOut18 HappyAbsSyn
happy_x_1 of { (HappyWrap18 happy_var_1 :: Located Import
happy_var_1) -> 
	[Located Import] -> HappyAbsSyn
happyIn17
		 ([Located Import
happy_var_1]
	)}

happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_23 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_23 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 3# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_23
happyReduction_23 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_23 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_import)    _)) -> 
	case HappyAbsSyn -> HappyWrap111
happyOut111 HappyAbsSyn
happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap19
happyOut19 HappyAbsSyn
happy_x_3 of { (HappyWrap19 happy_var_3 :: Maybe (Located ModName)
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap20
happyOut20 HappyAbsSyn
happy_x_4 of { (HappyWrap20 happy_var_4 :: Maybe (Located ImportSpec)
happy_var_4) -> 
	Located Import -> HappyAbsSyn
happyIn18
		 ($WLocated :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range -> Range -> Range
rComb Range
happy_var_1
                                                   (Range -> Range) -> Range -> Range
forall a b. (a -> b) -> a -> b
$ Range -> Maybe Range -> Range
forall a. a -> Maybe a -> a
fromMaybe (Located ModName -> Range
forall a. Located a -> Range
srcRange Located ModName
happy_var_2)
                                                   (Maybe Range -> Range) -> Maybe Range -> Range
forall a b. (a -> b) -> a -> b
$ [Maybe Range] -> Maybe Range
forall (t :: * -> *) (m :: * -> *) a.
(Foldable t, MonadPlus m) =>
t (m a) -> m a
msum [ (Located ImportSpec -> Range)
-> Maybe (Located ImportSpec) -> Maybe Range
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ImportSpec -> Range
forall a. Located a -> Range
srcRange Maybe (Located ImportSpec)
happy_var_4
                                                          , (Located ModName -> Range)
-> Maybe (Located ModName) -> Maybe Range
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ModName -> Range
forall a. Located a -> Range
srcRange Maybe (Located ModName)
happy_var_3
                                                          ]
                                        , thing :: Import
thing    = $WImport :: ModName -> Maybe ModName -> Maybe ImportSpec -> Import
Import
                                          { iModule :: ModName
iModule    = Located ModName -> ModName
forall a. Located a -> a
thing Located ModName
happy_var_2
                                          , iAs :: Maybe ModName
iAs        = (Located ModName -> ModName)
-> Maybe (Located ModName) -> Maybe ModName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ModName -> ModName
forall a. Located a -> a
thing Maybe (Located ModName)
happy_var_3
                                          , iSpec :: Maybe ImportSpec
iSpec      = (Located ImportSpec -> ImportSpec)
-> Maybe (Located ImportSpec) -> Maybe ImportSpec
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Located ImportSpec -> ImportSpec
forall a. Located a -> a
thing Maybe (Located ImportSpec)
happy_var_4
                                          }
                                        }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_24 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_24 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  4# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_24
happyReduction_24 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_24 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap111
happyOut111 HappyAbsSyn
happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
happy_var_2) -> 
	Maybe (Located ModName) -> HappyAbsSyn
happyIn19
		 (Located ModName -> Maybe (Located ModName)
forall k1. k1 -> Maybe k1
Just Located ModName
happy_var_2
	)}

happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_25 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_25 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  4# HappyAbsSyn
happyReduction_25
happyReduction_25 :: HappyAbsSyn
happyReduction_25  =  Maybe (Located ModName) -> HappyAbsSyn
happyIn19
		 (Maybe (Located ModName)
forall k1. Maybe k1
Nothing
	)

happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_26 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_26 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 5# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_26
happyReduction_26 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_26 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap22
happyOut22 HappyAbsSyn
happy_x_1 of { (HappyWrap22 happy_var_1 :: [Ident] -> ImportSpec
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap21
happyOut21 HappyAbsSyn
happy_x_3 of { (HappyWrap21 happy_var_3 :: [LIdent]
happy_var_3) -> 
	Maybe (Located ImportSpec) -> HappyAbsSyn
happyIn20
		 (Located ImportSpec -> Maybe (Located ImportSpec)
forall k1. k1 -> Maybe k1
Just $WLocated :: forall a. Range -> a -> Located a
Located
                                  { srcRange :: Range
srcRange = case [LIdent]
happy_var_3 of
                                      { [] -> Range
emptyRange
                                      ; xs :: [LIdent]
xs -> [Range] -> Range
rCombs ((LIdent -> Range) -> [LIdent] -> [Range]
forall a b. (a -> b) -> [a] -> [b]
map LIdent -> Range
forall a. Located a -> Range
srcRange [LIdent]
xs) }
                                  , thing :: ImportSpec
thing    = [Ident] -> ImportSpec
happy_var_1 ([Ident] -> [Ident]
forall a. [a] -> [a]
reverse ((LIdent -> Ident) -> [LIdent] -> [Ident]
forall a b. (a -> b) -> [a] -> [b]
map LIdent -> Ident
forall a. Located a -> a
thing [LIdent]
happy_var_3))
                                  }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_27 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_27 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  5# HappyAbsSyn
happyReduction_27
happyReduction_27 :: HappyAbsSyn
happyReduction_27  =  Maybe (Located ImportSpec) -> HappyAbsSyn
happyIn20
		 (Maybe (Located ImportSpec)
forall k1. Maybe k1
Nothing
	)

happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_28 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_28 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_28
happyReduction_28 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_28 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap21
happyOut21 HappyAbsSyn
happy_x_1 of { (HappyWrap21 happy_var_1 :: [LIdent]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_3 of { (HappyWrap108 happy_var_3 :: LIdent
happy_var_3) -> 
	[LIdent] -> HappyAbsSyn
happyIn21
		 (LIdent
happy_var_3 LIdent -> [LIdent] -> [LIdent]
forall k1. k1 -> [k1] -> [k1]
: [LIdent]
happy_var_1
	)}}

happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_29 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_29 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  6# HappyAbsSyn -> HappyAbsSyn
happyReduction_29
happyReduction_29 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_29 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	[LIdent] -> HappyAbsSyn
happyIn21
		 ([LIdent
happy_var_1]
	)}

happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_30 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_30 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  6# HappyAbsSyn
happyReduction_30
happyReduction_30 :: HappyAbsSyn
happyReduction_30  =  [LIdent] -> HappyAbsSyn
happyIn21
		 ([]
	)

happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_31 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_31 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  7# HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn
happyReduction_31
happyReduction_31 :: p -> HappyAbsSyn
happyReduction_31 happy_x_1 :: p
happy_x_1
	 =  ([Ident] -> ImportSpec) -> HappyAbsSyn
happyIn22
		 ([Ident] -> ImportSpec
Hiding
	)

happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_32 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_32 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  7# HappyAbsSyn
happyReduction_32
happyReduction_32 :: HappyAbsSyn
happyReduction_32  =  ([Ident] -> ImportSpec) -> HappyAbsSyn
happyIn22
		 ([Ident] -> ImportSpec
Only
	)

happyReduce_33 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_33 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_33 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  8# HappyAbsSyn -> HappyAbsSyn
happyReduction_33
happyReduction_33 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_33 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_1 of { (HappyWrap25 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	Program PName -> HappyAbsSyn
happyIn23
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_1)
	)}

happyReduce_34 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_34 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_34 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  8# HappyAbsSyn
happyReduction_34
happyReduction_34 :: HappyAbsSyn
happyReduction_34  =  Program PName -> HappyAbsSyn
happyIn23
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program []
	)

happyReduce_35 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_35 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_35 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_35
happyReduction_35 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_35 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_2 of { (HappyWrap26 happy_var_2 :: [TopDecl PName]
happy_var_2) -> 
	Program PName -> HappyAbsSyn
happyIn24
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_2)
	)}

happyReduce_36 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_36 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_36 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> p -> HappyAbsSyn
happyReduction_36
happyReduction_36 :: p -> p -> HappyAbsSyn
happyReduction_36 happy_x_2 :: p
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  Program PName -> HappyAbsSyn
happyIn24
		 ([TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program []
	)

happyReduce_37 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_37 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_37 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_37
happyReduction_37 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_37 happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
happy_x_1 of { (HappyWrap28 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn25
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_38 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_38 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_38 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_38
happyReduction_38 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_38 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap25
happyOut25 HappyAbsSyn
happy_x_1 of { (HappyWrap25 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap28
happyOut28 HappyAbsSyn
happy_x_2 of { (HappyWrap28 happy_var_2 :: [TopDecl PName]
happy_var_2) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn25
		 ([TopDecl PName]
happy_var_2 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
happy_var_1
	)}}

happyReduce_39 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_39 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_39 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  11# HappyAbsSyn -> HappyAbsSyn
happyReduction_39
happyReduction_39 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_39 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_1 of { (HappyWrap27 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn26
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_40 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_40 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_40 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_40
happyReduction_40 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_40 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_1 of { (HappyWrap26 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_3 of { (HappyWrap27 happy_var_3 :: [TopDecl PName]
happy_var_3) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn26
		 ([TopDecl PName]
happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
happy_var_1
	)}}

happyReduce_41 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_41 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_41 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_41
happyReduction_41 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_41 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_1 of { (HappyWrap26 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap27
happyOut27 HappyAbsSyn
happy_x_3 of { (HappyWrap27 happy_var_3 :: [TopDecl PName]
happy_var_3) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn26
		 ([TopDecl PName]
happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
happy_var_1
	)}}

happyReduce_42 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_42 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_42 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
happyReduction_42
happyReduction_42 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_42 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
exportDecl Maybe (Located String)
forall k1. Maybe k1
Nothing   ExportType
Public Decl PName
happy_var_1]
	)}

happyReduce_43 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_43 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_43 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_43
happyReduction_43 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_43 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
happy_x_1 of { (HappyWrap34 happy_var_1 :: Located String
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_2 of { (HappyWrap36 happy_var_2 :: Decl PName
happy_var_2) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
exportDecl (Located String -> Maybe (Located String)
forall k1. k1 -> Maybe k1
Just Located String
happy_var_1) ExportType
Public Decl PName
happy_var_2]
	)}}

happyReduce_44 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_44 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_44 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 12# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_44
happyReduction_44 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_44 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM [TopDecl PName]
-> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (happy_var_3 :: Located Token
happy_var_3@(Located _ (Token (StrLit {}) _))) -> 
	( (TopDecl PName -> [TopDecl PName]
forall (m :: * -> *) a. Monad m => a -> m a
return (TopDecl PName -> [TopDecl PName])
-> (Located String -> TopDecl PName)
-> Located String
-> [TopDecl PName]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located String -> TopDecl PName
forall name. Located String -> TopDecl name
Include) (Located String -> [TopDecl PName])
-> ParseM (Located String) -> ParseM [TopDecl PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` Located Token -> ParseM (Located String)
fromStrLit Located Token
happy_var_3)})
	) (\r :: [TopDecl PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([TopDecl PName] -> HappyAbsSyn
happyIn27 [TopDecl PName]
r))

happyReduce_45 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_45 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_45 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 6# 12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_45
happyReduction_45 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_45 (happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
happy_x_4 of { (HappyWrap42 happy_var_4 :: [Pattern PName]
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_6 of { (HappyWrap55 happy_var_6 :: Expr PName
happy_var_6) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
exportDecl Maybe (Located String)
happy_var_1 ExportType
Public (LPName -> [Pattern PName] -> Expr PName -> Decl PName
mkProperty LPName
happy_var_3 [Pattern PName]
happy_var_4 Expr PName
happy_var_6)]
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_46 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_46 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_46 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_46
happyReduction_46 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_46 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
happy_var_5) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
exportDecl Maybe (Located String)
happy_var_1 ExportType
Public (LPName -> [Pattern PName] -> Expr PName -> Decl PName
mkProperty LPName
happy_var_3 [] Expr PName
happy_var_5)]
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_47 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_47 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_47 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_47
happyReduction_47 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_47 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap38
happyOut38 HappyAbsSyn
happy_x_2 of { (HappyWrap38 happy_var_2 :: Newtype PName
happy_var_2) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([ExportType
-> Maybe (Located String) -> Newtype PName -> TopDecl PName
exportNewtype ExportType
Public Maybe (Located String)
happy_var_1 Newtype PName
happy_var_2]
	)}}

happyReduce_48 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_48 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_48 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
happyReduction_48
happyReduction_48 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_48 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_49 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_49 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_49 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
happyReduction_49
happyReduction_49 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_49 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap29
happyOut29 HappyAbsSyn
happy_x_1 of { (HappyWrap29 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_50 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_50 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_50 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
happyReduction_50
happyReduction_50 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_50 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap31
happyOut31 HappyAbsSyn
happy_x_1 of { (HappyWrap31 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn27
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_51 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_51 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_51 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  13# HappyAbsSyn -> HappyAbsSyn
happyReduction_51
happyReduction_51 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_51 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn28
		 ([TopLevel (Decl PName) -> TopDecl PName
forall name. TopLevel (Decl name) -> TopDecl name
Decl (TopLevel :: forall a. ExportType -> Maybe (Located String) -> a -> TopLevel a
TopLevel {tlExport :: ExportType
tlExport = ExportType
Public, tlValue :: Decl PName
tlValue = Decl PName
happy_var_1 })]
	)}

happyReduce_52 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_52 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_52 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 2# 13# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_52
happyReduction_52 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_52 (happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM [TopDecl PName]
-> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located _ (Token (StrLit {}) _))) -> 
	( (TopDecl PName -> [TopDecl PName]
forall (m :: * -> *) a. Monad m => a -> m a
return (TopDecl PName -> [TopDecl PName])
-> (Located String -> TopDecl PName)
-> Located String
-> [TopDecl PName]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located String -> TopDecl PName
forall name. Located String -> TopDecl name
Include) (Located String -> [TopDecl PName])
-> ParseM (Located String) -> ParseM [TopDecl PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` Located Token -> ParseM (Located String)
fromStrLit Located Token
happy_var_2)})
	) (\r :: [TopDecl PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([TopDecl PName] -> HappyAbsSyn
happyIn28 [TopDecl PName]
r))

happyReduce_53 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_53 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_53 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  13# HappyAbsSyn -> HappyAbsSyn
happyReduction_53
happyReduction_53 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_53 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap30
happyOut30 HappyAbsSyn
happy_x_1 of { (HappyWrap30 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn28
		 ([TopDecl PName]
happy_var_1
	)}

happyReduce_54 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_54 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_54 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_54
happyReduction_54 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_54 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_3 of { (HappyWrap26 happy_var_3 :: [TopDecl PName]
happy_var_3) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn29
		 (ExportType -> [TopDecl PName] -> [TopDecl PName]
changeExport ExportType
Private ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_55 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_55 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_55 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_55
happyReduction_55 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_55 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap26
happyOut26 HappyAbsSyn
happy_x_4 of { (HappyWrap26 happy_var_4 :: [TopDecl PName]
happy_var_4) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn29
		 (ExportType -> [TopDecl PName] -> [TopDecl PName]
changeExport ExportType
Private ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_4)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_56 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_56 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_56 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 15# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_56
happyReduction_56 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_56 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap90
happyOut90 HappyAbsSyn
happy_x_5 of { (HappyWrap90 happy_var_5 :: Schema PName
happy_var_5) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn30
		 (Maybe (Located String) -> LPName -> Schema PName -> [TopDecl PName]
mkPrimDecl Maybe (Located String)
happy_var_1 LPName
happy_var_3 Schema PName
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_57 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_57 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_57 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 7# 15# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_57
happyReduction_57 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_57 (happy_x_7 :: HappyAbsSyn
happy_x_7 `HappyStk`
	happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_4 of { (HappyWrap51 happy_var_4 :: LPName
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap90
happyOut90 HappyAbsSyn
happy_x_7 of { (HappyWrap90 happy_var_7 :: Schema PName
happy_var_7) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn30
		 (Maybe (Located String) -> LPName -> Schema PName -> [TopDecl PName]
mkPrimDecl Maybe (Located String)
happy_var_1 LPName
happy_var_4 Schema PName
happy_var_7
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_58 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_58 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_58 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 6# 15# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_58
happyReduction_58 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_58 (happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM [TopDecl PName]
-> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap90
happyOut90 HappyAbsSyn
happy_x_4 of { (HappyWrap90 happy_var_4 :: Schema PName
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap94
happyOut94 HappyAbsSyn
happy_x_6 of { (HappyWrap94 happy_var_6 :: Located Kind
happy_var_6) -> 
	( Maybe (Located String)
-> Schema PName -> Located Kind -> ParseM [TopDecl PName]
mkPrimTypeDecl Maybe (Located String)
happy_var_1 Schema PName
happy_var_4 Located Kind
happy_var_6)}}})
	) (\r :: [TopDecl PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([TopDecl PName] -> HappyAbsSyn
happyIn30 [TopDecl PName]
r))

happyReduce_59 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_59 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_59 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_59
happyReduction_59 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_59 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
happy_x_3 of { (HappyWrap32 happy_var_3 :: [TopDecl PName]
happy_var_3) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn31
		 ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_3
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_60 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_60 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_60 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_60
happyReduction_60 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_60 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
happy_x_4 of { (HappyWrap32 happy_var_4 :: [TopDecl PName]
happy_var_4) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn31
		 ([TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a]
reverse [TopDecl PName]
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}

happyReduce_61 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_61 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_61 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  17# HappyAbsSyn -> HappyAbsSyn
happyReduction_61
happyReduction_61 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_61 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_1 of { (HappyWrap33 happy_var_1 :: TopDecl PName
happy_var_1) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn32
		 ([TopDecl PName
happy_var_1]
	)}

happyReduce_62 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_62 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_62 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_62
happyReduction_62 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_62 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
happy_x_1 of { (HappyWrap32 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_3 of { (HappyWrap33 happy_var_3 :: TopDecl PName
happy_var_3) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn32
		 (TopDecl PName
happy_var_3 TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
forall k1. k1 -> [k1] -> [k1]
: [TopDecl PName]
happy_var_1
	)}}

happyReduce_63 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_63 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_63 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_63
happyReduction_63 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_63 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap32
happyOut32 HappyAbsSyn
happy_x_1 of { (HappyWrap32 happy_var_1 :: [TopDecl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap33
happyOut33 HappyAbsSyn
happy_x_3 of { (HappyWrap33 happy_var_3 :: TopDecl PName
happy_var_3) -> 
	[TopDecl PName] -> HappyAbsSyn
happyIn32
		 (TopDecl PName
happy_var_3 TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
forall k1. k1 -> [k1] -> [k1]
: [TopDecl PName]
happy_var_1
	)}}

happyReduce_64 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_64 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_64 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 18# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_64
happyReduction_64 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_64 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap90
happyOut90 HappyAbsSyn
happy_x_4 of { (HappyWrap90 happy_var_4 :: Schema PName
happy_var_4) -> 
	TopDecl PName -> HappyAbsSyn
happyIn33
		 (Maybe (Located String) -> LPName -> Schema PName -> TopDecl PName
mkParFun Maybe (Located String)
happy_var_1 LPName
happy_var_2 Schema PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_65 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_65 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_65 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 5# 18# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_65
happyReduction_65 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_65 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (TopDecl PName)
-> (TopDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap35
happyOut35 HappyAbsSyn
happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap94
happyOut94 HappyAbsSyn
happy_x_5 of { (HappyWrap94 happy_var_5 :: Located Kind
happy_var_5) -> 
	( Maybe (Located String)
-> LPName -> Located Kind -> ParseM (TopDecl PName)
mkParType Maybe (Located String)
happy_var_1 LPName
happy_var_3 Located Kind
happy_var_5)}}})
	) (\r :: TopDecl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TopDecl PName -> HappyAbsSyn
happyIn33 TopDecl PName
r))

happyReduce_66 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_66 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_66 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 4# 18# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_66
happyReduction_66 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_66 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (TopDecl PName)
-> (TopDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_4 of { (HappyWrap99 happy_var_4 :: Type PName
happy_var_4) -> 
	( (Located [Prop PName] -> TopDecl PName)
-> ParseM (Located [Prop PName]) -> ParseM (TopDecl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ([Located (Prop PName)] -> TopDecl PName
forall name. [Located (Prop name)] -> TopDecl name
DParameterConstraint ([Located (Prop PName)] -> TopDecl PName)
-> (Located [Prop PName] -> [Located (Prop PName)])
-> Located [Prop PName]
-> TopDecl PName
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Located [Prop PName] -> [Located (Prop PName)]
forall a. Located [a] -> [Located a]
distrLoc)
                                            (Type PName -> ParseM (Located [Prop PName])
mkProp Type PName
happy_var_4))})
	) (\r :: TopDecl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TopDecl PName -> HappyAbsSyn
happyIn33 TopDecl PName
r))

happyReduce_67 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_67 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_67 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  19# HappyAbsSyn -> HappyAbsSyn
happyReduction_67
happyReduction_67 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_67 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (White DocStr) _))) -> 
	Located String -> HappyAbsSyn
happyIn34
		 (Located Text -> Located String
mkDoc ((Token -> Text) -> Located Token -> Located Text
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Token -> Text
tokenText Located Token
happy_var_1)
	)}

happyReduce_68 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_68 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_68 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  20# HappyAbsSyn -> HappyAbsSyn
happyReduction_68
happyReduction_68 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_68 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap34
happyOut34 HappyAbsSyn
happy_x_1 of { (HappyWrap34 happy_var_1 :: Located String
happy_var_1) -> 
	Maybe (Located String) -> HappyAbsSyn
happyIn35
		 (Located String -> Maybe (Located String)
forall k1. k1 -> Maybe k1
Just Located String
happy_var_1
	)}

happyReduce_69 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_69 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_69 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  20# HappyAbsSyn
happyReduction_69
happyReduction_69 :: HappyAbsSyn
happyReduction_69  =  Maybe (Located String) -> HappyAbsSyn
happyIn35
		 (Maybe (Located String)
forall k1. Maybe k1
Nothing
	)

happyReduce_70 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_70 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_70 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_70
happyReduction_70 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_70 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
happy_x_1 of { (HappyWrap40 happy_var_1 :: [LPName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap90
happyOut90 HappyAbsSyn
happy_x_3 of { (HappyWrap90 happy_var_3 :: Schema PName
happy_var_3) -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((LPName, Schema PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at ([LPName] -> LPName
forall a. [a] -> a
head [LPName]
happy_var_1,Schema PName
happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ [LPName] -> Schema PName -> Decl PName
forall name. [Located name] -> Schema name -> Decl name
DSignature ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_1) Schema PName
happy_var_3
	)}}

happyReduce_71 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_71 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_71 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_71
happyReduction_71 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_71 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap85
happyOut85 HappyAbsSyn
happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Expr PName
happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Expr PName -> Decl PName
forall name. Pattern name -> Expr name -> Decl name
DPatBind Pattern PName
happy_var_1 Expr PName
happy_var_3
	)}}

happyReduce_72 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_72 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_72 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_72
happyReduction_72 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_72 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_2 of { (HappyWrap51 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
happy_var_5) -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((Range, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Expr PName -> Decl PName
forall name. Pattern name -> Expr name -> Decl name
DPatBind (LPName -> Pattern PName
forall n. Located n -> Pattern n
PVar LPName
happy_var_2) Expr PName
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_73 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_73 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_73 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_73
happyReduction_73 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_73 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_1 of { (HappyWrap41 happy_var_1 :: LPName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_2 of { (HappyWrap45 happy_var_2 :: ([Pattern PName], [Pattern PName])
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
happy_var_4) -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((LPName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LPName
happy_var_1,Expr PName
happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ LPName
-> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
mkIndexedDecl LPName
happy_var_1 ([Pattern PName], [Pattern PName])
happy_var_2 Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_74 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_74 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_74 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_74
happyReduction_74 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_74 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_2 of { (HappyWrap52 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_3 of { (HappyWrap86 happy_var_3 :: Pattern PName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
happy_var_5) -> 
	Decl PName -> HappyAbsSyn
happyIn36
		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Expr PName
happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$
                             Bind PName -> Decl PName
forall name. Bind name -> Decl name
DBind (Bind PName -> Decl PName) -> Bind PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Bind :: forall name.
Located name
-> [Pattern name]
-> Located (BindDef name)
-> Maybe (Schema name)
-> Bool
-> Maybe Fixity
-> [Pragma]
-> Bool
-> Maybe String
-> Bind name
Bind { bName :: LPName
bName      = LPName
happy_var_2
                                          , bParams :: [Pattern PName]
bParams    = [Pattern PName
happy_var_1,Pattern PName
happy_var_3]
                                          , bDef :: Located (BindDef PName)
bDef       = Expr PName -> Located (BindDef PName) -> Located (BindDef PName)
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Expr PName
happy_var_5 (Range -> BindDef PName -> Located (BindDef PName)
forall a. Range -> a -> Located a
Located Range
emptyRange (Expr PName -> BindDef PName
forall name. Expr name -> BindDef name
DExpr Expr PName
happy_var_5))
                                          , bSignature :: Maybe (Schema PName)
bSignature = Maybe (Schema PName)
forall k1. Maybe k1
Nothing
                                          , bPragmas :: [Pragma]
bPragmas   = []
                                          , bMono :: Bool
bMono      = Bool
False
                                          , bInfix :: Bool
bInfix     = Bool
True
                                          , bFixity :: Maybe Fixity
bFixity    = Maybe Fixity
forall k1. Maybe k1
Nothing
                                          , bDoc :: Maybe String
bDoc       = Maybe String
forall k1. Maybe k1
Nothing
                                          }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_75 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_75 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_75 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 4# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_75
happyReduction_75 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_75 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_type   ) _)) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_4 of { (HappyWrap99 happy_var_4 :: Type PName
happy_var_4) -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_4) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkTySyn LPName
happy_var_2 [] Type PName
happy_var_4)}}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_76 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_76 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_76 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 5# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_76
happyReduction_76 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_76 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_type   ) _)) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap98
happyOut98 HappyAbsSyn
happy_x_3 of { (HappyWrap98 happy_var_3 :: [TParam PName]
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_5 of { (HappyWrap99 happy_var_5 :: Type PName
happy_var_5) -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_5) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkTySyn LPName
happy_var_2 ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_3) Type PName
happy_var_5)}}}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_77 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_77 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_77 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 6# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_77
happyReduction_77 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_77 (happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_type   ) _)) -> 
	case HappyAbsSyn -> HappyWrap97
happyOut97 HappyAbsSyn
happy_x_2 of { (HappyWrap97 happy_var_2 :: TParam PName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_3 of { (HappyWrap51 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap97
happyOut97 HappyAbsSyn
happy_x_4 of { (HappyWrap97 happy_var_4 :: TParam PName
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_6 of { (HappyWrap99 happy_var_6 :: Type PName
happy_var_6) -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_6) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkTySyn LPName
happy_var_3 [TParam PName
happy_var_2, TParam PName
happy_var_4] Type PName
happy_var_6)}}}}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_78 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_78 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_78 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 5# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_78
happyReduction_78 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_78 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (KW KW_constraint) _)) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_5 of { (HappyWrap99 happy_var_5 :: Type PName
happy_var_5) -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_2,Type PName
happy_var_5) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkPropSyn LPName
happy_var_3 [] Type PName
happy_var_5)}}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_79 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_79 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_79 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 6# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_79
happyReduction_79 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_79 (happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (KW KW_constraint) _)) -> 
	case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap98
happyOut98 HappyAbsSyn
happy_x_4 of { (HappyWrap98 happy_var_4 :: [TParam PName]
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_6 of { (HappyWrap99 happy_var_6 :: Type PName
happy_var_6) -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_2,Type PName
happy_var_6) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkPropSyn LPName
happy_var_3 ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_4) Type PName
happy_var_6)}}}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_80 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_80 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_80 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 7# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_80
happyReduction_80 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_80 (happy_x_7 :: HappyAbsSyn
happy_x_7 `HappyStk`
	happy_x_6 :: HappyAbsSyn
happy_x_6 `HappyStk`
	happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (KW KW_constraint) _)) -> 
	case HappyAbsSyn -> HappyWrap97
happyOut97 HappyAbsSyn
happy_x_3 of { (HappyWrap97 happy_var_3 :: TParam PName
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_4 of { (HappyWrap51 happy_var_4 :: LPName
happy_var_4) -> 
	case HappyAbsSyn -> HappyWrap97
happyOut97 HappyAbsSyn
happy_x_5 of { (HappyWrap97 happy_var_5 :: TParam PName
happy_var_5) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_7 of { (HappyWrap99 happy_var_7 :: Type PName
happy_var_7) -> 
	( (Range, Type PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_2,Type PName
happy_var_7) (Decl PName -> Decl PName)
-> ParseM (Decl PName) -> ParseM (Decl PName)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
mkPropSyn LPName
happy_var_4 [TParam PName
happy_var_3, TParam PName
happy_var_5] Type PName
happy_var_7)}}}}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_81 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_81 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_81 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_81
happyReduction_81 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_81 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located _ (Token (Num   {}) _))) -> 
	case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_3 of { (HappyWrap54 happy_var_3 :: [LPName]
happy_var_3) -> 
	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
mkFixity Assoc
LeftAssoc  Located Token
happy_var_2 ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_3))}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_82 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_82 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_82 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_82
happyReduction_82 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_82 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located _ (Token (Num   {}) _))) -> 
	case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_3 of { (HappyWrap54 happy_var_3 :: [LPName]
happy_var_3) -> 
	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
mkFixity Assoc
RightAssoc Located Token
happy_var_2 ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_3))}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_83 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_83 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_83 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_83
happyReduction_83 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_83 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (happy_var_2 :: Located Token
happy_var_2@(Located _ (Token (Num   {}) _))) -> 
	case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_3 of { (HappyWrap54 happy_var_3 :: [LPName]
happy_var_3) -> 
	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
mkFixity Assoc
NonAssoc   Located Token
happy_var_2 ([LPName] -> [LPName]
forall a. [a] -> [a]
reverse [LPName]
happy_var_3))}})
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_84 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_84 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_84 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall a p. HappyStk a -> p -> ParseM HappyAbsSyn
happyReduction_84
happyReduction_84 :: HappyStk a -> p -> ParseM HappyAbsSyn
happyReduction_84 (happy_x_1 :: a
happy_x_1 `HappyStk`
	happyRest :: HappyStk a
happyRest) tk :: p
tk
	 = ParseM (Decl PName)
-> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((( String -> ParseM (Decl PName)
forall a. String -> ParseM a
expected "a declaration"))
	) (\r :: Decl PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Decl PName -> HappyAbsSyn
happyIn36 Decl PName
r))

happyReduce_85 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_85 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_85 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_85
happyReduction_85 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_85 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap85
happyOut85 HappyAbsSyn
happy_x_2 of { (HappyWrap85 happy_var_2 :: Pattern PName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
happy_var_4) -> 
	Decl PName -> HappyAbsSyn
happyIn37
		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_2,Expr PName
happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Expr PName -> Decl PName
forall name. Pattern name -> Expr name -> Decl name
DPatBind Pattern PName
happy_var_2 Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_86 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_86 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_86 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_86
happyReduction_86 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_86 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_3 of { (HappyWrap45 happy_var_3 :: ([Pattern PName], [Pattern PName])
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
happy_var_5) -> 
	Decl PName -> HappyAbsSyn
happyIn37
		 ((LPName, Expr PName) -> Decl PName -> Decl PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LPName
happy_var_2,Expr PName
happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
forall a b. (a -> b) -> a -> b
$ LPName
-> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
mkIndexedDecl LPName
happy_var_2 ([Pattern PName], [Pattern PName])
happy_var_3 Expr PName
happy_var_5
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_87 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_87 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_87 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 23# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_87
happyReduction_87 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_87 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_2 of { (HappyWrap112 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
happy_x_4 of { (HappyWrap39 happy_var_4 :: [Named (Type PName)]
happy_var_4) -> 
	Newtype PName -> HappyAbsSyn
happyIn38
		 (Newtype :: forall name.
Located name
-> [TParam name] -> [Named (Type name)] -> Newtype name
Newtype { nName :: LPName
nName = LPName
happy_var_2, nParams :: [TParam PName]
nParams = [], nBody :: [Named (Type PName)]
nBody = [Named (Type PName)]
happy_var_4 }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_88 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_88 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_88 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 5# 23# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_88
happyReduction_88 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_88 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_2 of { (HappyWrap112 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap98
happyOut98 HappyAbsSyn
happy_x_3 of { (HappyWrap98 happy_var_3 :: [TParam PName]
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap39
happyOut39 HappyAbsSyn
happy_x_5 of { (HappyWrap39 happy_var_5 :: [Named (Type PName)]
happy_var_5) -> 
	Newtype PName -> HappyAbsSyn
happyIn38
		 (Newtype :: forall name.
Located name
-> [TParam name] -> [Named (Type name)] -> Newtype name
Newtype { nName :: LPName
nName = LPName
happy_var_2, nParams :: [TParam PName]
nParams = [TParam PName]
happy_var_3, nBody :: [Named (Type PName)]
nBody = [Named (Type PName)]
happy_var_5 }
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_89 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_89 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_89 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  24# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> p -> HappyAbsSyn
happyReduction_89
happyReduction_89 :: p -> p -> HappyAbsSyn
happyReduction_89 happy_x_2 :: p
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  [Named (Type PName)] -> HappyAbsSyn
happyIn39
		 ([]
	)

happyReduce_90 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_90 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_90 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  24# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_90
happyReduction_90 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_90 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap107
happyOut107 HappyAbsSyn
happy_x_2 of { (HappyWrap107 happy_var_2 :: [Named (Type PName)]
happy_var_2) -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn39
		 ([Named (Type PName)]
happy_var_2
	)}

happyReduce_91 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_91 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_91 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  25# HappyAbsSyn -> HappyAbsSyn
happyReduction_91
happyReduction_91 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_91 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_1 of { (HappyWrap41 happy_var_1 :: LPName
happy_var_1) -> 
	[LPName] -> HappyAbsSyn
happyIn40
		 ([ LPName
happy_var_1]
	)}

happyReduce_92 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_92 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_92 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  25# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_92
happyReduction_92 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_92 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap40
happyOut40 HappyAbsSyn
happy_x_1 of { (HappyWrap40 happy_var_1 :: [LPName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap41
happyOut41 HappyAbsSyn
happy_x_3 of { (HappyWrap41 happy_var_3 :: LPName
happy_var_3) -> 
	[LPName] -> HappyAbsSyn
happyIn40
		 (LPName
happy_var_3 LPName -> [LPName] -> [LPName]
forall k1. k1 -> [k1] -> [k1]
: [LPName]
happy_var_1
	)}}

happyReduce_93 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_93 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_93 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  26# HappyAbsSyn -> HappyAbsSyn
happyReduction_93
happyReduction_93 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_93 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_1 of { (HappyWrap109 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn41
		 (LPName
happy_var_1
	)}

happyReduce_94 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_94 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_94 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  26# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_94
happyReduction_94 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_94 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_2 of { (HappyWrap51 happy_var_2 :: LPName
happy_var_2) -> 
	LPName -> HappyAbsSyn
happyIn41
		 (LPName
happy_var_2
	)}

happyReduce_95 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_95 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_95 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  27# HappyAbsSyn -> HappyAbsSyn
happyReduction_95
happyReduction_95 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_95 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
happy_var_1) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn42
		 ([Pattern PName
happy_var_1]
	)}

happyReduce_96 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_96 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_96 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  27# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_96
happyReduction_96 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_96 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
happy_x_1 of { (HappyWrap42 happy_var_1 :: [Pattern PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_2 of { (HappyWrap86 happy_var_2 :: Pattern PName
happy_var_2) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn42
		 (Pattern PName
happy_var_2 Pattern PName -> [Pattern PName] -> [Pattern PName]
forall k1. k1 -> [k1] -> [k1]
: [Pattern PName]
happy_var_1
	)}}

happyReduce_97 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_97 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_97 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_97
happyReduction_97 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_97 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_2 of { (HappyWrap44 happy_var_2 :: [Pattern PName]
happy_var_2) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn43
		 ([Pattern PName]
happy_var_2
	)}

happyReduce_98 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_98 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_98 = Int#
-> HappyAbsSyn
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_0  28# HappyAbsSyn
happyReduction_98
happyReduction_98 :: HappyAbsSyn
happyReduction_98  =  [Pattern PName] -> HappyAbsSyn
happyIn43
		 ([]
	)

happyReduce_99 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_99 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_99 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  29# HappyAbsSyn -> HappyAbsSyn
happyReduction_99
happyReduction_99 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_99 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
happy_var_1) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn44
		 ([Pattern PName
happy_var_1]
	)}

happyReduce_100 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_100 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_100 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  29# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_100
happyReduction_100 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_100 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_1 of { (HappyWrap44 happy_var_1 :: [Pattern PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_3 of { (HappyWrap86 happy_var_3 :: Pattern PName
happy_var_3) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn44
		 (Pattern PName
happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
forall k1. k1 -> [k1] -> [k1]
: [Pattern PName]
happy_var_1
	)}}

happyReduce_101 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_101 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_101 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_101
happyReduction_101 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_101 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
happy_x_1 of { (HappyWrap42 happy_var_1 :: [Pattern PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap43
happyOut43 HappyAbsSyn
happy_x_2 of { (HappyWrap43 happy_var_2 :: [Pattern PName]
happy_var_2) -> 
	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn45
		 (([Pattern PName]
happy_var_1, [Pattern PName]
happy_var_2)
	)}}

happyReduce_102 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_102 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_102 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_102
happyReduction_102 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_102 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap44
happyOut44 HappyAbsSyn
happy_x_2 of { (HappyWrap44 happy_var_2 :: [Pattern PName]
happy_var_2) -> 
	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
happyIn45
		 (([], [Pattern PName]
happy_var_2)
	)}

happyReduce_103 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_103 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_103 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_103
happyReduction_103 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_103 happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
happy_var_1) -> 
	[Decl PName] -> HappyAbsSyn
happyIn46
		 ([Decl PName
happy_var_1]
	)}

happyReduce_104 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_104 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_104 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_104
happyReduction_104 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_104 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_1 of { (HappyWrap46 happy_var_1 :: [Decl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_2 of { (HappyWrap36 happy_var_2 :: Decl PName
happy_var_2) -> 
	[Decl PName] -> HappyAbsSyn
happyIn46
		 (Decl PName
happy_var_2 Decl PName -> [Decl PName] -> [Decl PName]
forall k1. k1 -> [k1] -> [k1]
: [Decl PName]
happy_var_1
	)}}

happyReduce_105 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_105 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_105 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  32# HappyAbsSyn -> HappyAbsSyn
happyReduction_105
happyReduction_105 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_105 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
happy_var_1) -> 
	[Decl PName] -> HappyAbsSyn
happyIn47
		 ([Decl PName
happy_var_1]
	)}

happyReduce_106 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_106 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_106 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  32# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_106
happyReduction_106 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_106 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_1 of { (HappyWrap47 happy_var_1 :: [Decl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_3 of { (HappyWrap36 happy_var_3 :: Decl PName
happy_var_3) -> 
	[Decl PName] -> HappyAbsSyn
happyIn47
		 (Decl PName
happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
forall k1. k1 -> [k1] -> [k1]
: [Decl PName]
happy_var_1
	)}}

happyReduce_107 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_107 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_107 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  32# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_107
happyReduction_107 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_107 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_1 of { (HappyWrap47 happy_var_1 :: [Decl PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
happy_x_3 of { (HappyWrap36 happy_var_3 :: Decl PName
happy_var_3) -> 
	[Decl PName] -> HappyAbsSyn
happyIn47
		 (Decl PName
happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
forall k1. k1 -> [k1] -> [k1]
: [Decl PName]
happy_var_1
	)}}

happyReduce_108 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_108 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_108 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  33# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_108
happyReduction_108 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_108 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_2 of { (HappyWrap47 happy_var_2 :: [Decl PName]
happy_var_2) -> 
	[Decl PName] -> HappyAbsSyn
happyIn48
		 ([Decl PName]
happy_var_2
	)}

happyReduce_109 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_109 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_109 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  33# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> p -> HappyAbsSyn
happyReduction_109
happyReduction_109 :: p -> p -> HappyAbsSyn
happyReduction_109 happy_x_2 :: p
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  [Decl PName] -> HappyAbsSyn
happyIn48
		 ([]
	)

happyReduce_110 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_110 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_110 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  34# HappyAbsSyn -> HappyAbsSyn
happyReduction_110
happyReduction_110 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_110 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	ReplInput PName -> HappyAbsSyn
happyIn49
		 (Expr PName -> ReplInput PName
forall name. Expr name -> ReplInput name
ExprInput Expr PName
happy_var_1
	)}

happyReduce_111 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_111 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_111 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  34# HappyAbsSyn -> HappyAbsSyn
happyReduction_111
happyReduction_111 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_111 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
happy_x_1 of { (HappyWrap37 happy_var_1 :: Decl PName
happy_var_1) -> 
	ReplInput PName -> HappyAbsSyn
happyIn49
		 (Decl PName -> ReplInput PName
forall name. Decl name -> ReplInput name
LetInput Decl PName
happy_var_1
	)}

happyReduce_112 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_112 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_112 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  35# HappyAbsSyn -> HappyAbsSyn
happyReduction_112
happyReduction_112 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_112 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_1 of { (HappyWrap51 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn50
		 (LPName
happy_var_1
	)}

happyReduce_113 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_113 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_113 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  35# HappyAbsSyn -> HappyAbsSyn
happyReduction_113
happyReduction_113 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_113 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Op  Other{}   )  _))) -> 
	LPName -> HappyAbsSyn
happyIn50
		 (let Token (Op (Other ns :: [Text]
ns i :: Text
i)) _ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                       in ModName -> Ident -> PName
mkQual ([Text] -> ModName
mkModName [Text]
ns) (Text -> Ident
mkInfix Text
i) PName -> Located Token -> LPName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_114 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_114 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_114 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  36# HappyAbsSyn -> HappyAbsSyn
happyReduction_114
happyReduction_114 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_114 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap52
happyOut52 HappyAbsSyn
happy_x_1 of { (HappyWrap52 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn51
		 (LPName
happy_var_1
	)}

happyReduce_115 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_115 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_115 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  36# HappyAbsSyn -> HappyAbsSyn
happyReduction_115
happyReduction_115 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_115 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Hash) _)) -> 
	LPName -> HappyAbsSyn
happyIn51
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "#"
	)}

happyReduce_116 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_116 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_116 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  36# HappyAbsSyn -> HappyAbsSyn
happyReduction_116
happyReduction_116 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_116 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op At) _)) -> 
	LPName -> HappyAbsSyn
happyIn51
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "@"
	)}

happyReduce_117 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_117 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_117 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
happyReduction_117
happyReduction_117 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_117 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap53
happyOut53 HappyAbsSyn
happy_x_1 of { (HappyWrap53 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (LPName
happy_var_1
	)}

happyReduce_118 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_118 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_118 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
happyReduction_118
happyReduction_118 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_118 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Mul)   _)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "*"
	)}

happyReduce_119 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_119 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_119 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
happyReduction_119
happyReduction_119 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_119 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Plus)  _)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "+"
	)}

happyReduce_120 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_120 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_120 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
happyReduction_120
happyReduction_120 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_120 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Minus) _)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "-"
	)}

happyReduce_121 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_121 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_121 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
happyReduction_121
happyReduction_121 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_121 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Complement) _)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "~"
	)}

happyReduce_122 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_122 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_122 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
happyReduction_122
happyReduction_122 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_122 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Exp)   _)) -> 
	LPName -> HappyAbsSyn
happyIn52
		 (Range -> PName -> LPName
forall a. Range -> a -> Located a
Located Range
happy_var_1 (PName -> LPName) -> PName -> LPName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkInfix "^^"
	)}

happyReduce_123 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_123 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_123 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  38# HappyAbsSyn -> HappyAbsSyn
happyReduction_123
happyReduction_123 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_123 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Op (Other [] _)) _))) -> 
	LPName -> HappyAbsSyn
happyIn53
		 (let Token (Op (Other [] str :: Text
str)) _ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                       in Ident -> PName
mkUnqual (Text -> Ident
mkInfix Text
str) PName -> Located Token -> LPName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_124 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_124 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_124 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  39# HappyAbsSyn -> HappyAbsSyn
happyReduction_124
happyReduction_124 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_124 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_1 of { (HappyWrap51 happy_var_1 :: LPName
happy_var_1) -> 
	[LPName] -> HappyAbsSyn
happyIn54
		 ([LPName
happy_var_1]
	)}

happyReduce_125 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_125 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_125 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  39# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_125
happyReduction_125 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_125 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap54
happyOut54 HappyAbsSyn
happy_x_1 of { (HappyWrap54 happy_var_1 :: [LPName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_3 of { (HappyWrap51 happy_var_3 :: LPName
happy_var_3) -> 
	[LPName] -> HappyAbsSyn
happyIn54
		 (LPName
happy_var_3 LPName -> [LPName] -> [LPName]
forall k1. k1 -> [k1] -> [k1]
: [LPName]
happy_var_1
	)}}

happyReduce_126 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_126 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_126 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  40# HappyAbsSyn -> HappyAbsSyn
happyReduction_126
happyReduction_126 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_126 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap56
happyOut56 HappyAbsSyn
happy_x_1 of { (HappyWrap56 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn55
		 (Expr PName
happy_var_1
	)}

happyReduce_127 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_127 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_127 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  40# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_127
happyReduction_127 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_127 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap57
happyOut57 HappyAbsSyn
happy_x_3 of { (HappyWrap57 happy_var_3 :: Located [Decl PName]
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn55
		 ((Expr PName, Located [Decl PName]) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Located [Decl PName]
happy_var_3) (Expr PName -> [Decl PName] -> Expr PName
forall n. Expr n -> [Decl n] -> Expr n
EWhere Expr PName
happy_var_1 (Located [Decl PName] -> [Decl PName]
forall a. Located a -> a
thing Located [Decl PName]
happy_var_3))
	)}}

happyReduce_128 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_128 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_128 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  41# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_128
happyReduction_128 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_128 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap59
happyOut59 HappyAbsSyn
happy_x_1 of { (HappyWrap59 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap64
happyOut64 HappyAbsSyn
happy_x_3 of { (HappyWrap64 happy_var_3 :: Expr PName
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn56
		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Expr PName
happy_var_3) (Expr PName -> LPName -> Expr PName -> Expr PName
binOp Expr PName
happy_var_1 LPName
happy_var_2 Expr PName
happy_var_3)
	)}}}

happyReduce_129 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_129 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_129 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  41# HappyAbsSyn -> HappyAbsSyn
happyReduction_129
happyReduction_129 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_129 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap64
happyOut64 HappyAbsSyn
happy_x_1 of { (HappyWrap64 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn56
		 (Expr PName
happy_var_1
	)}

happyReduce_130 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_130 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_130 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  41# HappyAbsSyn -> HappyAbsSyn
happyReduction_130
happyReduction_130 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_130 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap58
happyOut58 HappyAbsSyn
happy_x_1 of { (HappyWrap58 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn56
		 (Expr PName
happy_var_1
	)}

happyReduce_131 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_131 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_131 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_131
happyReduction_131 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_131 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym CurlyR  ) _)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn57
		 (Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) []
	)}}

happyReduce_132 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_132 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_132 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_132
happyReduction_132 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_132 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
happy_x_2 of { (HappyWrap46 happy_var_2 :: [Decl PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn57
		 (Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) ([Decl PName] -> [Decl PName]
forall a. [a] -> [a]
reverse [Decl PName]
happy_var_2)
	)}}}

happyReduce_133 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_133 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_133 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_133
happyReduction_133 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_133 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Virt VCurlyL)  _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Virt VCurlyR)  _)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn57
		 (Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) []
	)}}

happyReduce_134 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_134 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_134 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_134
happyReduction_134 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_134 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Virt VCurlyL)  _)) -> 
	case HappyAbsSyn -> HappyWrap47
happyOut47 HappyAbsSyn
happy_x_2 of { (HappyWrap47 happy_var_2 :: [Decl PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Virt VCurlyR)  _)) -> 
	Located [Decl PName] -> HappyAbsSyn
happyIn57
		 (let l2 :: Range
l2 = Range -> Maybe Range -> Range
forall a. a -> Maybe a -> a
fromMaybe Range
happy_var_3 ([Decl PName] -> Maybe Range
forall t. HasLoc t => t -> Maybe Range
getLoc [Decl PName]
happy_var_2)
                                    in Range -> [Decl PName] -> Located [Decl PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
l2) ([Decl PName] -> [Decl PName]
forall a. [a] -> [a]
reverse [Decl PName]
happy_var_2)
	)}}}

happyReduce_135 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_135 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_135 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  43# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_135
happyReduction_135 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_135 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap59
happyOut59 HappyAbsSyn
happy_x_1 of { (HappyWrap59 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn58
		 ((Expr PName, Type PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Type PName
happy_var_3) (Expr PName -> Type PName -> Expr PName
forall n. Expr n -> Type n -> Expr n
ETyped Expr PName
happy_var_1 Type PName
happy_var_3)
	)}}

happyReduce_136 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_136 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_136 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  44# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_136
happyReduction_136 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_136 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap59
happyOut59 HappyAbsSyn
happy_x_1 of { (HappyWrap59 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap63
happyOut63 HappyAbsSyn
happy_x_3 of { (HappyWrap63 happy_var_3 :: Expr PName
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn59
		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Expr PName
happy_var_3) (Expr PName -> LPName -> Expr PName -> Expr PName
binOp Expr PName
happy_var_1 LPName
happy_var_2 Expr PName
happy_var_3)
	)}}}

happyReduce_137 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_137 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_137 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  44# HappyAbsSyn -> HappyAbsSyn
happyReduction_137
happyReduction_137 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_137 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap63
happyOut63 HappyAbsSyn
happy_x_1 of { (HappyWrap63 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn59
		 (Expr PName
happy_var_1
	)}

happyReduce_138 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_138 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_138 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 45# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_138
happyReduction_138 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_138 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_if     ) _)) -> 
	case HappyAbsSyn -> HappyWrap61
happyOut61 HappyAbsSyn
happy_x_2 of { (HappyWrap61 happy_var_2 :: [(Expr PName, Expr PName)]
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap56
happyOut56 HappyAbsSyn
happy_x_4 of { (HappyWrap56 happy_var_4 :: Expr PName
happy_var_4) -> 
	Expr PName -> HappyAbsSyn
happyIn60
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_4) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [(Expr PName, Expr PName)] -> Expr PName -> Expr PName
mkIf ([(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
forall a. [a] -> [a]
reverse [(Expr PName, Expr PName)]
happy_var_2) Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_139 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_139 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_139 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 45# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_139
happyReduction_139 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_139 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym Lambda  ) _)) -> 
	case HappyAbsSyn -> HappyWrap42
happyOut42 HappyAbsSyn
happy_x_2 of { (HappyWrap42 happy_var_2 :: [Pattern PName]
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap56
happyOut56 HappyAbsSyn
happy_x_4 of { (HappyWrap56 happy_var_4 :: Expr PName
happy_var_4) -> 
	Expr PName -> HappyAbsSyn
happyIn60
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_4) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Expr PName -> Expr PName
forall n. [Pattern n] -> Expr n -> Expr n
EFun ([Pattern PName] -> [Pattern PName]
forall a. [a] -> [a]
reverse [Pattern PName]
happy_var_2) Expr PName
happy_var_4
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_140 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_140 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_140 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  46# HappyAbsSyn -> HappyAbsSyn
happyReduction_140
happyReduction_140 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_140 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap62
happyOut62 HappyAbsSyn
happy_x_1 of { (HappyWrap62 happy_var_1 :: (Expr PName, Expr PName)
happy_var_1) -> 
	[(Expr PName, Expr PName)] -> HappyAbsSyn
happyIn61
		 ([(Expr PName, Expr PName)
happy_var_1]
	)}

happyReduce_141 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_141 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_141 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  46# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_141
happyReduction_141 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_141 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap61
happyOut61 HappyAbsSyn
happy_x_1 of { (HappyWrap61 happy_var_1 :: [(Expr PName, Expr PName)]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap62
happyOut62 HappyAbsSyn
happy_x_3 of { (HappyWrap62 happy_var_3 :: (Expr PName, Expr PName)
happy_var_3) -> 
	[(Expr PName, Expr PName)] -> HappyAbsSyn
happyIn61
		 ((Expr PName, Expr PName)
happy_var_3 (Expr PName, Expr PName)
-> [(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
forall k1. k1 -> [k1] -> [k1]
: [(Expr PName, Expr PName)]
happy_var_1
	)}}

happyReduce_142 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_142 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_142 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  47# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_142
happyReduction_142 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_142 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	(Expr PName, Expr PName) -> HappyAbsSyn
happyIn62
		 ((Expr PName
happy_var_1, Expr PName
happy_var_3)
	)}}

happyReduce_143 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_143 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_143 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  48# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_143
happyReduction_143 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_143 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Minus) _)) -> 
	case HappyAbsSyn -> HappyWrap65
happyOut65 HappyAbsSyn
happy_x_2 of { (HappyWrap65 happy_var_2 :: Expr PName
happy_var_2) -> 
	Expr PName -> HappyAbsSyn
happyIn63
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
ENeg Expr PName
happy_var_2)
	)}}

happyReduce_144 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_144 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_144 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  48# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_144
happyReduction_144 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_144 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Complement) _)) -> 
	case HappyAbsSyn -> HappyWrap65
happyOut65 HappyAbsSyn
happy_x_2 of { (HappyWrap65 happy_var_2 :: Expr PName
happy_var_2) -> 
	Expr PName -> HappyAbsSyn
happyIn63
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
EComplement Expr PName
happy_var_2)
	)}}

happyReduce_145 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_145 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_145 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  48# HappyAbsSyn -> HappyAbsSyn
happyReduction_145
happyReduction_145 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_145 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap65
happyOut65 HappyAbsSyn
happy_x_1 of { (HappyWrap65 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn63
		 (Expr PName
happy_var_1
	)}

happyReduce_146 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_146 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_146 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_146
happyReduction_146 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_146 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Minus) _)) -> 
	case HappyAbsSyn -> HappyWrap66
happyOut66 HappyAbsSyn
happy_x_2 of { (HappyWrap66 happy_var_2 :: Expr PName
happy_var_2) -> 
	Expr PName -> HappyAbsSyn
happyIn64
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
ENeg Expr PName
happy_var_2)
	)}}

happyReduce_147 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_147 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_147 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_147
happyReduction_147 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_147 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Complement) _)) -> 
	case HappyAbsSyn -> HappyWrap66
happyOut66 HappyAbsSyn
happy_x_2 of { (HappyWrap66 happy_var_2 :: Expr PName
happy_var_2) -> 
	Expr PName -> HappyAbsSyn
happyIn64
		 ((Range, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName
forall n. Expr n -> Expr n
EComplement Expr PName
happy_var_2)
	)}}

happyReduce_148 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_148 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_148 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  49# HappyAbsSyn -> HappyAbsSyn
happyReduction_148
happyReduction_148 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_148 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap66
happyOut66 HappyAbsSyn
happy_x_1 of { (HappyWrap66 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn64
		 (Expr PName
happy_var_1
	)}

happyReduce_149 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_149 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_149 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  50# HappyAbsSyn -> HappyAbsSyn
happyReduction_149
happyReduction_149 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_149 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap67
happyOut67 HappyAbsSyn
happy_x_1 of { (HappyWrap67 happy_var_1 :: [Expr PName]
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn65
		 ([Expr PName] -> Expr PName
mkEApp [Expr PName]
happy_var_1
	)}

happyReduce_150 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_150 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_150 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  51# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_150
happyReduction_150 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_150 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap65
happyOut65 HappyAbsSyn
happy_x_1 of { (HappyWrap65 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap60
happyOut60 HappyAbsSyn
happy_x_2 of { (HappyWrap60 happy_var_2 :: Expr PName
happy_var_2) -> 
	Expr PName -> HappyAbsSyn
happyIn66
		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Expr PName
happy_var_2) (Expr PName -> Expr PName -> Expr PName
forall n. Expr n -> Expr n -> Expr n
EApp Expr PName
happy_var_1 Expr PName
happy_var_2)
	)}}

happyReduce_151 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_151 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_151 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  51# HappyAbsSyn -> HappyAbsSyn
happyReduction_151
happyReduction_151 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_151 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap60
happyOut60 HappyAbsSyn
happy_x_1 of { (HappyWrap60 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn66
		 (Expr PName
happy_var_1
	)}

happyReduce_152 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_152 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_152 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  51# HappyAbsSyn -> HappyAbsSyn
happyReduction_152
happyReduction_152 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_152 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap65
happyOut65 HappyAbsSyn
happy_x_1 of { (HappyWrap65 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn66
		 (Expr PName
happy_var_1
	)}

happyReduce_153 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_153 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_153 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  52# HappyAbsSyn -> HappyAbsSyn
happyReduction_153
happyReduction_153 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_153 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap68
happyOut68 HappyAbsSyn
happy_x_1 of { (HappyWrap68 happy_var_1 :: Expr PName
happy_var_1) -> 
	[Expr PName] -> HappyAbsSyn
happyIn67
		 ([Expr PName
happy_var_1]
	)}

happyReduce_154 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_154 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_154 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  52# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_154
happyReduction_154 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_154 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap67
happyOut67 HappyAbsSyn
happy_x_1 of { (HappyWrap67 happy_var_1 :: [Expr PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap68
happyOut68 HappyAbsSyn
happy_x_2 of { (HappyWrap68 happy_var_2 :: Expr PName
happy_var_2) -> 
	[Expr PName] -> HappyAbsSyn
happyIn67
		 (Expr PName
happy_var_2 Expr PName -> [Expr PName] -> [Expr PName]
forall k1. k1 -> [k1] -> [k1]
: [Expr PName]
happy_var_1
	)}}

happyReduce_155 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_155 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_155 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  53# HappyAbsSyn -> HappyAbsSyn
happyReduction_155
happyReduction_155 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_155 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap69
happyOut69 HappyAbsSyn
happy_x_1 of { (HappyWrap69 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn68
		 (Expr PName
happy_var_1
	)}

happyReduce_156 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_156 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_156 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  53# HappyAbsSyn -> HappyAbsSyn
happyReduction_156
happyReduction_156 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_156 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap70
happyOut70 HappyAbsSyn
happy_x_1 of { (HappyWrap70 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn68
		 (Expr PName
happy_var_1
	)}

happyReduce_157 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_157 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_157 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
happyReduction_157
happyReduction_157 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_157 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (LPName -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at LPName
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ PName -> Expr PName
forall n. n -> Expr n
EVar (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1)
	)}

happyReduce_158 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_158 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_158 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
happyReduction_158
happyReduction_158 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_158 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Num   {}) _))) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ TokenT -> Expr PName
numLit (Token -> TokenT
tokenType (Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1))
	)}

happyReduce_159 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_159 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_159 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
happyReduction_159
happyReduction_159 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_159 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (StrLit {}) _))) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Literal -> Expr PName
forall n. Literal -> Expr n
ELit (Literal -> Expr PName) -> Literal -> Expr PName
forall a b. (a -> b) -> a -> b
$ String -> Literal
ECString (String -> Literal) -> String -> Literal
forall a b. (a -> b) -> a -> b
$ Located Token -> String
getStr Located Token
happy_var_1
	)}

happyReduce_160 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_160 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_160 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
happyReduction_160
happyReduction_160 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_160 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (ChrLit {}) _))) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (Located Token -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Literal -> Expr PName
forall n. Literal -> Expr n
ELit (Literal -> Expr PName) -> Literal -> Expr PName
forall a b. (a -> b) -> a -> b
$ Integer -> NumInfo -> Literal
ECNum (Located Token -> Integer
getNum Located Token
happy_var_1) NumInfo
CharLit
	)}

happyReduce_161 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_161 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_161 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
happyReduction_161
happyReduction_161 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_161 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym Underscore ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 (Range -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ PName -> Expr PName
forall n. n -> Expr n
EVar (PName -> Expr PName) -> PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Ident -> PName
mkUnqual (Ident -> PName) -> Ident -> PName
forall a b. (a -> b) -> a -> b
$ Text -> Ident
mkIdent "_"
	)}

happyReduce_162 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_162 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_162 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_162
happyReduction_162 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_162 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_2 of { (HappyWrap55 happy_var_2 :: Expr PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Expr PName -> Expr PName
forall n. Expr n -> Expr n
EParens Expr PName
happy_var_2
	)}}}

happyReduce_163 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_163 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_163 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_163
happyReduction_163 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_163 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap74
happyOut74 HappyAbsSyn
happy_x_2 of { (HappyWrap74 happy_var_2 :: [Expr PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
ETuple ([Expr PName] -> [Expr PName]
forall a. [a] -> [a]
reverse [Expr PName]
happy_var_2)
	)}}}

happyReduce_164 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_164 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_164 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_164
happyReduction_164 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_164 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym ParenR  ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
ETuple []
	)}}

happyReduce_165 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_165 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_165 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_165
happyReduction_165 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_165 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym CurlyR  ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Named (Expr PName)] -> Expr PName
forall n. [Named (Expr n)] -> Expr n
ERecord []
	)}}

happyReduce_166 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_166 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_166 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_166
happyReduction_166 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_166 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap75
happyOut75 HappyAbsSyn
happy_x_2 of { (HappyWrap75 happy_var_2 :: Expr PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) Expr PName
happy_var_2
	)}}}

happyReduce_167 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_167 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_167 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_167
happyReduction_167 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_167 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym BracketR) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ [Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
EList []
	)}}

happyReduce_168 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_168 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_168 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_168
happyReduction_168 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_168 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> HappyWrap80
happyOut80 HappyAbsSyn
happy_x_2 of { (HappyWrap80 happy_var_2 :: Expr PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym BracketR) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) Expr PName
happy_var_2
	)}}}

happyReduce_169 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_169 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_169 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_169
happyReduction_169 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_169 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BackTick) _)) -> 
	case HappyAbsSyn -> HappyWrap114
happyOut114 HappyAbsSyn
happy_x_2 of { (HappyWrap114 happy_var_2 :: Type PName
happy_var_2) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Type PName) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Type PName
happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Expr PName
forall n. Type n -> Expr n
ETypeVal Type PName
happy_var_2
	)}}

happyReduce_170 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_170 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_170 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_170
happyReduction_170 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_170 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Expr PName -> HappyAbsSyn
happyIn69
		 ((Range, Range) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ PName -> Expr PName
forall n. n -> Expr n
EVar (PName -> Expr PName) -> PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_2
	)}}}

happyReduce_171 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_171 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_171 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 2# 54# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_171
happyReduction_171 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_171 (happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym TriL    ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym TriR    ) _)) -> 
	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
mkPoly (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) [])}})
	) (\r :: Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn69 Expr PName
r))

happyReduce_172 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_172 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_172 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 54# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_172
happyReduction_172 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_172 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym TriL    ) _)) -> 
	case HappyAbsSyn -> HappyWrap71
happyOut71 HappyAbsSyn
happy_x_2 of { (HappyWrap71 happy_var_2 :: [(Bool, Integer)]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym TriR    ) _)) -> 
	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
mkPoly (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) [(Bool, Integer)]
happy_var_2)}}})
	) (\r :: Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn69 Expr PName
r))

happyReduce_173 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_173 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_173 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_173
happyReduction_173 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_173 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap69
happyOut69 HappyAbsSyn
happy_x_1 of { (HappyWrap69 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap73
happyOut73 HappyAbsSyn
happy_x_3 of { (HappyWrap73 happy_var_3 :: Located Selector
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Expr PName, Located Selector) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Located Selector
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Expr PName -> Selector -> Expr PName
forall n. Expr n -> Selector -> Expr n
ESel Expr PName
happy_var_1 (Located Selector -> Selector
forall a. Located a -> a
thing Located Selector
happy_var_3)
	)}}

happyReduce_174 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_174 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_174 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_174
happyReduction_174 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_174 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap70
happyOut70 HappyAbsSyn
happy_x_1 of { (HappyWrap70 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap73
happyOut73 HappyAbsSyn
happy_x_3 of { (HappyWrap73 happy_var_3 :: Located Selector
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn70
		 ((Expr PName, Located Selector) -> Expr PName -> Expr PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Expr PName
happy_var_1,Located Selector
happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
forall a b. (a -> b) -> a -> b
$ Expr PName -> Selector -> Expr PName
forall n. Expr n -> Selector -> Expr n
ESel Expr PName
happy_var_1 (Located Selector -> Selector
forall a. Located a -> a
thing Located Selector
happy_var_3)
	)}}

happyReduce_175 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_175 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_175 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  56# HappyAbsSyn -> HappyAbsSyn
happyReduction_175
happyReduction_175 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_175 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap72
happyOut72 HappyAbsSyn
happy_x_1 of { (HappyWrap72 happy_var_1 :: (Bool, Integer)
happy_var_1) -> 
	[(Bool, Integer)] -> HappyAbsSyn
happyIn71
		 ([(Bool, Integer)
happy_var_1]
	)}

happyReduce_176 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_176 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_176 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  56# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_176
happyReduction_176 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_176 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap71
happyOut71 HappyAbsSyn
happy_x_1 of { (HappyWrap71 happy_var_1 :: [(Bool, Integer)]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap72
happyOut72 HappyAbsSyn
happy_x_3 of { (HappyWrap72 happy_var_3 :: (Bool, Integer)
happy_var_3) -> 
	[(Bool, Integer)] -> HappyAbsSyn
happyIn71
		 ((Bool, Integer)
happy_var_3 (Bool, Integer) -> [(Bool, Integer)] -> [(Bool, Integer)]
forall k1. k1 -> [k1] -> [k1]
: [(Bool, Integer)]
happy_var_1
	)}}

happyReduce_177 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_177 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_177 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 57# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_177
happyReduction_177 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_177 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Bool, Integer)
-> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Num   {}) _))) -> 
	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
polyTerm (Located Token -> Range
forall a. Located a -> Range
srcRange Located Token
happy_var_1) (Located Token -> Integer
getNum Located Token
happy_var_1) 0)})
	) (\r :: (Bool, Integer)
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ((Bool, Integer) -> HappyAbsSyn
happyIn72 (Bool, Integer)
r))

happyReduce_178 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_178 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_178 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 57# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_178
happyReduction_178 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_178 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Bool, Integer)
-> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_x)       _)) -> 
	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
polyTerm Range
happy_var_1 1 1)})
	) (\r :: (Bool, Integer)
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ((Bool, Integer) -> HappyAbsSyn
happyIn72 (Bool, Integer)
r))

happyReduce_179 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_179 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_179 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 57# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_179
happyReduction_179 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_179 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Bool, Integer)
-> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_x)       _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (happy_var_3 :: Located Token
happy_var_3@(Located _ (Token (Num   {}) _))) -> 
	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
polyTerm (Range -> Range -> Range
rComb Range
happy_var_1 (Located Token -> Range
forall a. Located a -> Range
srcRange Located Token
happy_var_3))
                                                            1 (Located Token -> Integer
getNum Located Token
happy_var_3))}})
	) (\r :: (Bool, Integer)
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ((Bool, Integer) -> HappyAbsSyn
happyIn72 (Bool, Integer)
r))

happyReduce_180 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_180 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_180 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  58# HappyAbsSyn -> HappyAbsSyn
happyReduction_180
happyReduction_180 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_180 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	Located Selector -> HappyAbsSyn
happyIn73
		 ((Ident -> Selector) -> LIdent -> Located Selector
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (Ident -> Maybe [Ident] -> Selector
`RecordSel` Maybe [Ident]
forall k1. Maybe k1
Nothing) LIdent
happy_var_1
	)}

happyReduce_181 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_181 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_181 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 58# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_181
happyReduction_181 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_181 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Located Selector)
-> (Located Selector -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Num   {}) _))) -> 
	( Range -> Integer -> ParseM (Located Selector)
mkTupleSel (Located Token -> Range
forall a. Located a -> Range
srcRange Located Token
happy_var_1) (Located Token -> Integer
getNum Located Token
happy_var_1))})
	) (\r :: Located Selector
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Located Selector -> HappyAbsSyn
happyIn73 Located Selector
r))

happyReduce_182 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_182 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_182 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  59# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_182
happyReduction_182 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_182 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	[Expr PName] -> HappyAbsSyn
happyIn74
		 ([ Expr PName
happy_var_3, Expr PName
happy_var_1]
	)}}

happyReduce_183 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_183 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_183 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  59# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_183
happyReduction_183 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_183 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap74
happyOut74 HappyAbsSyn
happy_x_1 of { (HappyWrap74 happy_var_1 :: [Expr PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	[Expr PName] -> HappyAbsSyn
happyIn74
		 (Expr PName
happy_var_3 Expr PName -> [Expr PName] -> [Expr PName]
forall k1. k1 -> [k1] -> [k1]
: [Expr PName]
happy_var_1
	)}}

happyReduce_184 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_184 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_184 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_184
happyReduction_184 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_184 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap68
happyOut68 HappyAbsSyn
happy_x_1 of { (HappyWrap68 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap79
happyOut79 HappyAbsSyn
happy_x_3 of { (HappyWrap79 happy_var_3 :: [UpdField PName]
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn75
		 (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
EUpd (Expr PName -> Maybe (Expr PName)
forall k1. k1 -> Maybe k1
Just Expr PName
happy_var_1) ([UpdField PName] -> [UpdField PName]
forall a. [a] -> [a]
reverse [UpdField PName]
happy_var_3)
	)}}

happyReduce_185 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_185 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_185 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. HappyAbsSyn -> p -> p -> HappyAbsSyn
happyReduction_185
happyReduction_185 :: HappyAbsSyn -> p -> p -> HappyAbsSyn
happyReduction_185 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap79
happyOut79 HappyAbsSyn
happy_x_3 of { (HappyWrap79 happy_var_3 :: [UpdField PName]
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn75
		 (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
EUpd Maybe (Expr PName)
forall k1. Maybe k1
Nothing   ([UpdField PName] -> [UpdField PName]
forall a. [a] -> [a]
reverse [UpdField PName]
happy_var_3)
	)}

happyReduce_186 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_186 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_186 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 60# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_186
happyReduction_186 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_186 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap79
happyOut79 HappyAbsSyn
happy_x_1 of { (HappyWrap79 happy_var_1 :: [UpdField PName]
happy_var_1) -> 
	( do { [Named (Expr PName)]
xs <- (UpdField PName -> ParseM (Named (Expr PName)))
-> [UpdField PName] -> ParseM [Named (Expr PName)]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM UpdField PName -> ParseM (Named (Expr PName))
ufToNamed [UpdField PName]
happy_var_1;
                                          Expr PName -> ParseM (Expr PName)
forall (f :: * -> *) a. Applicative f => a -> f a
pure ([Named (Expr PName)] -> Expr PName
forall n. [Named (Expr n)] -> Expr n
ERecord ([Named (Expr PName)] -> [Named (Expr PName)]
forall a. [a] -> [a]
reverse [Named (Expr PName)]
xs)) })})
	) (\r :: Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn75 Expr PName
r))

happyReduce_187 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_187 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_187 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_187
happyReduction_187 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_187 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap73
happyOut73 HappyAbsSyn
happy_x_1 of { (HappyWrap73 happy_var_1 :: Located Selector
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap77
happyOut77 HappyAbsSyn
happy_x_2 of { (HappyWrap77 happy_var_2 :: UpdHow
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	UpdField PName -> HappyAbsSyn
happyIn76
		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
UpdField UpdHow
happy_var_2 [Located Selector
happy_var_1] Expr PName
happy_var_3
	)}}}

happyReduce_188 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_188 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_188 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_188
happyReduction_188 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_188 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap78
happyOut78 HappyAbsSyn
happy_x_1 of { (HappyWrap78 happy_var_1 :: [Located Selector]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap77
happyOut77 HappyAbsSyn
happy_x_2 of { (HappyWrap77 happy_var_2 :: UpdHow
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	UpdField PName -> HappyAbsSyn
happyIn76
		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
UpdField UpdHow
happy_var_2 [Located Selector]
happy_var_1 Expr PName
happy_var_3
	)}}}

happyReduce_189 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_189 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_189 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 61# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_189
happyReduction_189 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_189 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap78
happyOut78 HappyAbsSyn
happy_x_1 of { (HappyWrap78 happy_var_1 :: [Located Selector]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_2 of { (HappyWrap45 happy_var_2 :: ([Pattern PName], [Pattern PName])
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap77
happyOut77 HappyAbsSyn
happy_x_3 of { (HappyWrap77 happy_var_3 :: UpdHow
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
happy_var_4) -> 
	UpdField PName -> HappyAbsSyn
happyIn76
		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
UpdField UpdHow
happy_var_3 [Located Selector]
happy_var_1 (([Pattern PName], [Pattern PName]) -> Expr PName -> Expr PName
mkIndexedExpr ([Pattern PName], [Pattern PName])
happy_var_2 Expr PName
happy_var_4)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_190 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_190 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_190 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 61# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_190
happyReduction_190 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_190 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap73
happyOut73 HappyAbsSyn
happy_x_1 of { (HappyWrap73 happy_var_1 :: Located Selector
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap45
happyOut45 HappyAbsSyn
happy_x_2 of { (HappyWrap45 happy_var_2 :: ([Pattern PName], [Pattern PName])
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap77
happyOut77 HappyAbsSyn
happy_x_3 of { (HappyWrap77 happy_var_3 :: UpdHow
happy_var_3) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
happy_var_4) -> 
	UpdField PName -> HappyAbsSyn
happyIn76
		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
UpdField UpdHow
happy_var_3 [Located Selector
happy_var_1] (([Pattern PName], [Pattern PName]) -> Expr PName -> Expr PName
mkIndexedExpr ([Pattern PName], [Pattern PName])
happy_var_2 Expr PName
happy_var_4)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}}

happyReduce_191 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_191 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_191 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  62# HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn
happyReduction_191
happyReduction_191 :: p -> HappyAbsSyn
happyReduction_191 happy_x_1 :: p
happy_x_1
	 =  UpdHow -> HappyAbsSyn
happyIn77
		 (UpdHow
UpdSet
	)

happyReduce_192 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_192 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_192 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  62# HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn
happyReduction_192
happyReduction_192 :: p -> HappyAbsSyn
happyReduction_192 happy_x_1 :: p
happy_x_1
	 =  UpdHow -> HappyAbsSyn
happyIn77
		 (UpdHow
UpdFun
	)

happyReduce_193 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_193 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_193 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 63# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_193
happyReduction_193 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_193 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM [Located Selector]
-> ([Located Selector] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap70
happyOut70 HappyAbsSyn
happy_x_1 of { (HappyWrap70 happy_var_1 :: Expr PName
happy_var_1) -> 
	( Expr PName -> ParseM [Located Selector]
selExprToSels Expr PName
happy_var_1)})
	) (\r :: [Located Selector]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn ([Located Selector] -> HappyAbsSyn
happyIn78 [Located Selector]
r))

happyReduce_194 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_194 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_194 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  64# HappyAbsSyn -> HappyAbsSyn
happyReduction_194
happyReduction_194 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_194 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap76
happyOut76 HappyAbsSyn
happy_x_1 of { (HappyWrap76 happy_var_1 :: UpdField PName
happy_var_1) -> 
	[UpdField PName] -> HappyAbsSyn
happyIn79
		 ([UpdField PName
happy_var_1]
	)}

happyReduce_195 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_195 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_195 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  64# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_195
happyReduction_195 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_195 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap79
happyOut79 HappyAbsSyn
happy_x_1 of { (HappyWrap79 happy_var_1 :: [UpdField PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap76
happyOut76 HappyAbsSyn
happy_x_3 of { (HappyWrap76 happy_var_3 :: UpdField PName
happy_var_3) -> 
	[UpdField PName] -> HappyAbsSyn
happyIn79
		 (UpdField PName
happy_var_3 UpdField PName -> [UpdField PName] -> [UpdField PName]
forall k1. k1 -> [k1] -> [k1]
: [UpdField PName]
happy_var_1
	)}}

happyReduce_196 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_196 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_196 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  65# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_196
happyReduction_196 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_196 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap81
happyOut81 HappyAbsSyn
happy_x_3 of { (HappyWrap81 happy_var_3 :: [[Match PName]]
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn80
		 (Expr PName -> [[Match PName]] -> Expr PName
forall n. Expr n -> [[Match n]] -> Expr n
EComp Expr PName
happy_var_1 ([[Match PName]] -> [[Match PName]]
forall a. [a] -> [a]
reverse [[Match PName]]
happy_var_3)
	)}}

happyReduce_197 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_197 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_197 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  65# HappyAbsSyn -> HappyAbsSyn
happyReduction_197
happyReduction_197 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_197 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn80
		 ([Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
EList [Expr PName
happy_var_1]
	)}

happyReduce_198 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_198 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_198 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  65# HappyAbsSyn -> HappyAbsSyn
happyReduction_198
happyReduction_198 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_198 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap74
happyOut74 HappyAbsSyn
happy_x_1 of { (HappyWrap74 happy_var_1 :: [Expr PName]
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn80
		 ([Expr PName] -> Expr PName
forall n. [Expr n] -> Expr n
EList ([Expr PName] -> [Expr PName]
forall a. [a] -> [a]
reverse [Expr PName]
happy_var_1)
	)}

happyReduce_199 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_199 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_199 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 65# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_199
happyReduction_199 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_199 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym DotDot  ) _)) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	( Range
-> Expr PName
-> Maybe (Expr PName)
-> Expr PName
-> ParseM (Expr PName)
eFromTo Range
happy_var_2 Expr PName
happy_var_1 Maybe (Expr PName)
forall k1. Maybe k1
Nothing   Expr PName
happy_var_3)}}})
	) (\r :: Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn80 Expr PName
r))

happyReduce_200 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_200 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_200 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 5# 65# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_200
happyReduction_200 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_200 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Expr PName)
-> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_4 of { (Located happy_var_4 :: Range
happy_var_4 (Token (Sym DotDot  ) _)) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
happy_var_5) -> 
	( Range
-> Expr PName
-> Maybe (Expr PName)
-> Expr PName
-> ParseM (Expr PName)
eFromTo Range
happy_var_4 Expr PName
happy_var_1 (Expr PName -> Maybe (Expr PName)
forall k1. k1 -> Maybe k1
Just Expr PName
happy_var_3) Expr PName
happy_var_5)}}}})
	) (\r :: Expr PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Expr PName -> HappyAbsSyn
happyIn80 Expr PName
r))

happyReduce_201 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_201 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_201 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  65# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_201
happyReduction_201 :: p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_201 happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	Expr PName -> HappyAbsSyn
happyIn80
		 (Expr PName -> Maybe (Expr PName) -> Expr PName
forall n. Expr n -> Maybe (Expr n) -> Expr n
EInfFrom Expr PName
happy_var_1 Maybe (Expr PName)
forall k1. Maybe k1
Nothing
	)}

happyReduce_202 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_202 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_202 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 65# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_202
happyReduction_202 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_202 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	Expr PName -> HappyAbsSyn
happyIn80
		 (Expr PName -> Maybe (Expr PName) -> Expr PName
forall n. Expr n -> Maybe (Expr n) -> Expr n
EInfFrom Expr PName
happy_var_1 (Expr PName -> Maybe (Expr PName)
forall k1. k1 -> Maybe k1
Just Expr PName
happy_var_3)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}

happyReduce_203 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_203 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_203 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  66# HappyAbsSyn -> HappyAbsSyn
happyReduction_203
happyReduction_203 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_203 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap82
happyOut82 HappyAbsSyn
happy_x_1 of { (HappyWrap82 happy_var_1 :: [Match PName]
happy_var_1) -> 
	[[Match PName]] -> HappyAbsSyn
happyIn81
		 ([ [Match PName] -> [Match PName]
forall a. [a] -> [a]
reverse [Match PName]
happy_var_1 ]
	)}

happyReduce_204 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_204 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_204 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  66# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_204
happyReduction_204 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_204 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap81
happyOut81 HappyAbsSyn
happy_x_1 of { (HappyWrap81 happy_var_1 :: [[Match PName]]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap82
happyOut82 HappyAbsSyn
happy_x_3 of { (HappyWrap82 happy_var_3 :: [Match PName]
happy_var_3) -> 
	[[Match PName]] -> HappyAbsSyn
happyIn81
		 ([Match PName] -> [Match PName]
forall a. [a] -> [a]
reverse [Match PName]
happy_var_3 [Match PName] -> [[Match PName]] -> [[Match PName]]
forall k1. k1 -> [k1] -> [k1]
: [[Match PName]]
happy_var_1
	)}}

happyReduce_205 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_205 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_205 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  67# HappyAbsSyn -> HappyAbsSyn
happyReduction_205
happyReduction_205 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_205 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap83
happyOut83 HappyAbsSyn
happy_x_1 of { (HappyWrap83 happy_var_1 :: Match PName
happy_var_1) -> 
	[Match PName] -> HappyAbsSyn
happyIn82
		 ([Match PName
happy_var_1]
	)}

happyReduce_206 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_206 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_206 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  67# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_206
happyReduction_206 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_206 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap82
happyOut82 HappyAbsSyn
happy_x_1 of { (HappyWrap82 happy_var_1 :: [Match PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap83
happyOut83 HappyAbsSyn
happy_x_3 of { (HappyWrap83 happy_var_3 :: Match PName
happy_var_3) -> 
	[Match PName] -> HappyAbsSyn
happyIn82
		 (Match PName
happy_var_3 Match PName -> [Match PName] -> [Match PName]
forall k1. k1 -> [k1] -> [k1]
: [Match PName]
happy_var_1
	)}}

happyReduce_207 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_207 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_207 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  68# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_207
happyReduction_207 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_207 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_1 of { (HappyWrap84 happy_var_1 :: Pattern PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
happy_var_3) -> 
	Match PName -> HappyAbsSyn
happyIn83
		 (Pattern PName -> Expr PName -> Match PName
forall name. Pattern name -> Expr name -> Match name
Match Pattern PName
happy_var_1 Expr PName
happy_var_3
	)}}

happyReduce_208 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_208 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_208 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  69# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_208
happyReduction_208 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_208 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap85
happyOut85 HappyAbsSyn
happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	Pattern PName -> HappyAbsSyn
happyIn84
		 ((Pattern PName, Type PName) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Type PName
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Type PName -> Pattern PName
forall n. Pattern n -> Type n -> Pattern n
PTyped Pattern PName
happy_var_1 Type PName
happy_var_3
	)}}

happyReduce_209 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_209 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_209 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  69# HappyAbsSyn -> HappyAbsSyn
happyReduction_209
happyReduction_209 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_209 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap85
happyOut85 HappyAbsSyn
happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
happy_var_1) -> 
	Pattern PName -> HappyAbsSyn
happyIn84
		 (Pattern PName
happy_var_1
	)}

happyReduce_210 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_210 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_210 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  70# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_210
happyReduction_210 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_210 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap85
happyOut85 HappyAbsSyn
happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap85
happyOut85 HappyAbsSyn
happy_x_3 of { (HappyWrap85 happy_var_3 :: Pattern PName
happy_var_3) -> 
	Pattern PName -> HappyAbsSyn
happyIn85
		 ((Pattern PName, Pattern PName) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Pattern PName
happy_var_1,Pattern PName
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ Pattern PName -> Pattern PName -> Pattern PName
forall n. Pattern n -> Pattern n -> Pattern n
PSplit Pattern PName
happy_var_1 Pattern PName
happy_var_3
	)}}

happyReduce_211 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_211 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_211 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  70# HappyAbsSyn -> HappyAbsSyn
happyReduction_211
happyReduction_211 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_211 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap86
happyOut86 HappyAbsSyn
happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
happy_var_1) -> 
	Pattern PName -> HappyAbsSyn
happyIn85
		 (Pattern PName
happy_var_1
	)}

happyReduce_212 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_212 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_212 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  71# HappyAbsSyn -> HappyAbsSyn
happyReduction_212
happyReduction_212 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_212 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_1 of { (HappyWrap109 happy_var_1 :: LPName
happy_var_1) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 (LPName -> Pattern PName
forall n. Located n -> Pattern n
PVar LPName
happy_var_1
	)}

happyReduce_213 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_213 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_213 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  71# HappyAbsSyn -> HappyAbsSyn
happyReduction_213
happyReduction_213 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_213 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym Underscore ) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 (Range -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1       (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ Pattern PName
forall n. Pattern n
PWild
	)}

happyReduce_214 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_214 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_214 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_214
happyReduction_214 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_214 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym ParenR  ) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PTuple []
	)}}

happyReduce_215 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_215 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_215 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_215
happyReduction_215 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_215 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_2 of { (HappyWrap84 happy_var_2 :: Pattern PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3)   Pattern PName
happy_var_2
	)}}}

happyReduce_216 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_216 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_216 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_216
happyReduction_216 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_216 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap87
happyOut87 HappyAbsSyn
happy_x_2 of { (HappyWrap87 happy_var_2 :: [Pattern PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PTuple ([Pattern PName] -> [Pattern PName]
forall a. [a] -> [a]
reverse [Pattern PName]
happy_var_2)
	)}}}

happyReduce_217 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_217 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_217 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_217
happyReduction_217 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_217 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym BracketR) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PList []
	)}}

happyReduce_218 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_218 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_218 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_218
happyReduction_218 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_218 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_2 of { (HappyWrap84 happy_var_2 :: Pattern PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym BracketR) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PList [Pattern PName
happy_var_2]
	)}}}

happyReduce_219 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_219 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_219 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_219
happyReduction_219 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_219 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> HappyWrap87
happyOut87 HappyAbsSyn
happy_x_2 of { (HappyWrap87 happy_var_2 :: [Pattern PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym BracketR) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Pattern PName] -> Pattern PName
forall n. [Pattern n] -> Pattern n
PList ([Pattern PName] -> [Pattern PName]
forall a. [a] -> [a]
reverse [Pattern PName]
happy_var_2)
	)}}}

happyReduce_220 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_220 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_220 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_220
happyReduction_220 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_220 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym CurlyR  ) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Named (Pattern PName)] -> Pattern PName
forall n. [Named (Pattern n)] -> Pattern n
PRecord []
	)}}

happyReduce_221 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_221 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_221 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_221
happyReduction_221 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_221 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap89
happyOut89 HappyAbsSyn
happy_x_2 of { (HappyWrap89 happy_var_2 :: [Named (Pattern PName)]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Pattern PName -> HappyAbsSyn
happyIn86
		 ((Range, Range) -> Pattern PName -> Pattern PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
forall a b. (a -> b) -> a -> b
$ [Named (Pattern PName)] -> Pattern PName
forall n. [Named (Pattern n)] -> Pattern n
PRecord ([Named (Pattern PName)] -> [Named (Pattern PName)]
forall a. [a] -> [a]
reverse [Named (Pattern PName)]
happy_var_2)
	)}}}

happyReduce_222 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_222 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_222 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_222
happyReduction_222 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_222 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_1 of { (HappyWrap84 happy_var_1 :: Pattern PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_3 of { (HappyWrap84 happy_var_3 :: Pattern PName
happy_var_3) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn87
		 ([Pattern PName
happy_var_3, Pattern PName
happy_var_1]
	)}}

happyReduce_223 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_223 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_223 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_223
happyReduction_223 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_223 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap87
happyOut87 HappyAbsSyn
happy_x_1 of { (HappyWrap87 happy_var_1 :: [Pattern PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_3 of { (HappyWrap84 happy_var_3 :: Pattern PName
happy_var_3) -> 
	[Pattern PName] -> HappyAbsSyn
happyIn87
		 (Pattern PName
happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
forall k1. k1 -> [k1] -> [k1]
: [Pattern PName]
happy_var_1
	)}}

happyReduce_224 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_224 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_224 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  73# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_224
happyReduction_224 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_224 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap84
happyOut84 HappyAbsSyn
happy_x_3 of { (HappyWrap84 happy_var_3 :: Pattern PName
happy_var_3) -> 
	Named (Pattern PName) -> HappyAbsSyn
happyIn88
		 (Named :: forall a. LIdent -> a -> Named a
Named { name :: LIdent
name = LIdent
happy_var_1, value :: Pattern PName
value = Pattern PName
happy_var_3 }
	)}}

happyReduce_225 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_225 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_225 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  74# HappyAbsSyn -> HappyAbsSyn
happyReduction_225
happyReduction_225 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_225 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap88
happyOut88 HappyAbsSyn
happy_x_1 of { (HappyWrap88 happy_var_1 :: Named (Pattern PName)
happy_var_1) -> 
	[Named (Pattern PName)] -> HappyAbsSyn
happyIn89
		 ([Named (Pattern PName)
happy_var_1]
	)}

happyReduce_226 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_226 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_226 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_226
happyReduction_226 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_226 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap89
happyOut89 HappyAbsSyn
happy_x_1 of { (HappyWrap89 happy_var_1 :: [Named (Pattern PName)]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap88
happyOut88 HappyAbsSyn
happy_x_3 of { (HappyWrap88 happy_var_3 :: Named (Pattern PName)
happy_var_3) -> 
	[Named (Pattern PName)] -> HappyAbsSyn
happyIn89
		 (Named (Pattern PName)
happy_var_3 Named (Pattern PName)
-> [Named (Pattern PName)] -> [Named (Pattern PName)]
forall k1. k1 -> [k1] -> [k1]
: [Named (Pattern PName)]
happy_var_1
	)}}

happyReduce_227 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_227 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_227 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  75# HappyAbsSyn -> HappyAbsSyn
happyReduction_227
happyReduction_227 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_227 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_1 of { (HappyWrap99 happy_var_1 :: Type PName
happy_var_1) -> 
	Schema PName -> HappyAbsSyn
happyIn90
		 (Type PName -> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Type PName
happy_var_1 (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema [] [] Type PName
happy_var_1
	)}

happyReduce_228 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_228 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_228 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_228
happyReduction_228 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_228 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap91
happyOut91 HappyAbsSyn
happy_x_1 of { (HappyWrap91 happy_var_1 :: Located [TParam PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	Schema PName -> HappyAbsSyn
happyIn90
		 ((Located [TParam PName], Type PName)
-> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [TParam PName]
happy_var_1,Type PName
happy_var_2) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema (Located [TParam PName] -> [TParam PName]
forall a. Located a -> a
thing Located [TParam PName]
happy_var_1) [] Type PName
happy_var_2
	)}}

happyReduce_229 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_229 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_229 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_229
happyReduction_229 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_229 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap92
happyOut92 HappyAbsSyn
happy_x_1 of { (HappyWrap92 happy_var_1 :: Located [Prop PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	Schema PName -> HappyAbsSyn
happyIn90
		 ((Located [Prop PName], Type PName) -> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Prop PName]
happy_var_1,Type PName
happy_var_2) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema [] (Located [Prop PName] -> [Prop PName]
forall a. Located a -> a
thing Located [Prop PName]
happy_var_1) Type PName
happy_var_2
	)}}

happyReduce_230 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_230 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_230 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_230
happyReduction_230 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_230 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap91
happyOut91 HappyAbsSyn
happy_x_1 of { (HappyWrap91 happy_var_1 :: Located [TParam PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap92
happyOut92 HappyAbsSyn
happy_x_2 of { (HappyWrap92 happy_var_2 :: Located [Prop PName]
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	Schema PName -> HappyAbsSyn
happyIn90
		 ((Located [TParam PName], Type PName)
-> Schema PName -> Schema PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [TParam PName]
happy_var_1,Type PName
happy_var_3) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
forall a b. (a -> b) -> a -> b
$ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
mkSchema (Located [TParam PName] -> [TParam PName]
forall a. Located a -> a
thing Located [TParam PName]
happy_var_1)
                                                          (Located [Prop PName] -> [Prop PName]
forall a. Located a -> a
thing Located [Prop PName]
happy_var_2) Type PName
happy_var_3
	)}}}

happyReduce_231 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_231 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_231 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_231
happyReduction_231 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_231 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym CurlyR  ) _)) -> 
	Located [TParam PName] -> HappyAbsSyn
happyIn91
		 (Range -> [TParam PName] -> Located [TParam PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_2) []
	)}}

happyReduce_232 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_232 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_232 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_232
happyReduction_232 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_232 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap96
happyOut96 HappyAbsSyn
happy_x_2 of { (HappyWrap96 happy_var_2 :: [TParam PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Located [TParam PName] -> HappyAbsSyn
happyIn91
		 (Range -> [TParam PName] -> Located [TParam PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) ([TParam PName] -> [TParam PName]
forall a. [a] -> [a]
reverse [TParam PName]
happy_var_2)
	)}}}

happyReduce_233 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_233 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_233 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  77# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_233
happyReduction_233 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_233 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap92
happyOut92 HappyAbsSyn
happy_x_1 of { (HappyWrap92 happy_var_1 :: Located [Prop PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap93
happyOut93 HappyAbsSyn
happy_x_2 of { (HappyWrap93 happy_var_2 :: Located [Prop PName]
happy_var_2) -> 
	Located [Prop PName] -> HappyAbsSyn
happyIn92
		 ((Located [Prop PName], Located [Prop PName])
-> Located [Prop PName] -> Located [Prop PName]
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Prop PName]
happy_var_1,Located [Prop PName]
happy_var_2) (Located [Prop PName] -> Located [Prop PName])
-> Located [Prop PName] -> Located [Prop PName]
forall a b. (a -> b) -> a -> b
$ ([Prop PName] -> [Prop PName])
-> Located [Prop PName] -> Located [Prop PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ([Prop PName] -> [Prop PName] -> [Prop PName]
forall a. [a] -> [a] -> [a]
++ Located [Prop PName] -> [Prop PName]
forall a. Located a -> a
thing Located [Prop PName]
happy_var_2) Located [Prop PName]
happy_var_1
	)}}

happyReduce_234 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_234 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_234 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  77# HappyAbsSyn -> HappyAbsSyn
happyReduction_234
happyReduction_234 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_234 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap93
happyOut93 HappyAbsSyn
happy_x_1 of { (HappyWrap93 happy_var_1 :: Located [Prop PName]
happy_var_1) -> 
	Located [Prop PName] -> HappyAbsSyn
happyIn92
		 (Located [Prop PName]
happy_var_1
	)}

happyReduce_235 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_235 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_235 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 2# 78# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_235
happyReduction_235 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_235 (happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Located [Prop PName])
-> (Located [Prop PName] -> ParseM HappyAbsSyn)
-> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_1 of { (HappyWrap99 happy_var_1 :: Type PName
happy_var_1) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym FatArrR ) _)) -> 
	( (Located [Prop PName] -> Located [Prop PName])
-> ParseM (Located [Prop PName]) -> ParseM (Located [Prop PName])
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\x :: Located [Prop PName]
x -> (Located [Prop PName], Range)
-> Located [Prop PName] -> Located [Prop PName]
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Prop PName]
x,Range
happy_var_2) Located [Prop PName]
x) (Type PName -> ParseM (Located [Prop PName])
mkProp Type PName
happy_var_1))}})
	) (\r :: Located [Prop PName]
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Located [Prop PName] -> HappyAbsSyn
happyIn93 Located [Prop PName]
r))

happyReduce_236 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_236 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_236 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  79# HappyAbsSyn -> HappyAbsSyn
happyReduction_236
happyReduction_236 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_236 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Hash) _)) -> 
	Located Kind -> HappyAbsSyn
happyIn94
		 (Range -> Kind -> Located Kind
forall a. Range -> a -> Located a
Located Range
happy_var_1 Kind
KNum
	)}

happyReduce_237 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_237 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_237 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  79# HappyAbsSyn -> HappyAbsSyn
happyReduction_237
happyReduction_237 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_237 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Op Mul)   _)) -> 
	Located Kind -> HappyAbsSyn
happyIn94
		 (Range -> Kind -> Located Kind
forall a. Range -> a -> Located a
Located Range
happy_var_1 Kind
KType
	)}

happyReduce_238 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_238 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_238 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  79# HappyAbsSyn -> HappyAbsSyn
happyReduction_238
happyReduction_238 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_238 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_Prop) _)) -> 
	Located Kind -> HappyAbsSyn
happyIn94
		 (Range -> Kind -> Located Kind
forall a. Range -> a -> Located a
Located Range
happy_var_1 Kind
KProp
	)}

happyReduce_239 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_239 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_239 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  79# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_239
happyReduction_239 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_239 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap94
happyOut94 HappyAbsSyn
happy_x_1 of { (HappyWrap94 happy_var_1 :: Located Kind
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap94
happyOut94 HappyAbsSyn
happy_x_3 of { (HappyWrap94 happy_var_3 :: Located Kind
happy_var_3) -> 
	Located Kind -> HappyAbsSyn
happyIn94
		 ((Kind -> Kind -> Kind)
-> Located Kind -> Located Kind -> Located Kind
forall a b c. (a -> b -> c) -> Located a -> Located b -> Located c
combLoc Kind -> Kind -> Kind
KFun Located Kind
happy_var_1 Located Kind
happy_var_3
	)}}

happyReduce_240 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_240 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_240 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 80# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_240
happyReduction_240 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_240 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam LIdent
happy_var_1 Maybe Kind
forall k1. Maybe k1
Nothing)})
	) (\r :: TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn95 TParam PName
r))

happyReduce_241 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_241 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_241 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 80# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_241
happyReduction_241 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_241 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap94
happyOut94 HappyAbsSyn
happy_x_3 of { (HappyWrap94 happy_var_3 :: Located Kind
happy_var_3) -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam ((LIdent, Located Kind) -> LIdent -> LIdent
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LIdent
happy_var_1,Located Kind
happy_var_3) LIdent
happy_var_1) (Kind -> Maybe Kind
forall k1. k1 -> Maybe k1
Just (Located Kind -> Kind
forall a. Located a -> a
thing Located Kind
happy_var_3)))}})
	) (\r :: TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn95 TParam PName
r))

happyReduce_242 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_242 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_242 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  81# HappyAbsSyn -> HappyAbsSyn
happyReduction_242
happyReduction_242 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_242 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap95
happyOut95 HappyAbsSyn
happy_x_1 of { (HappyWrap95 happy_var_1 :: TParam PName
happy_var_1) -> 
	[TParam PName] -> HappyAbsSyn
happyIn96
		 ([TParam PName
happy_var_1]
	)}

happyReduce_243 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_243 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_243 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  81# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_243
happyReduction_243 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_243 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap96
happyOut96 HappyAbsSyn
happy_x_1 of { (HappyWrap96 happy_var_1 :: [TParam PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap95
happyOut95 HappyAbsSyn
happy_x_3 of { (HappyWrap95 happy_var_3 :: TParam PName
happy_var_3) -> 
	[TParam PName] -> HappyAbsSyn
happyIn96
		 (TParam PName
happy_var_3 TParam PName -> [TParam PName] -> [TParam PName]
forall k1. k1 -> [k1] -> [k1]
: [TParam PName]
happy_var_1
	)}}

happyReduce_244 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_244 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_244 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 1# 82# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_244
happyReduction_244 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_244 (happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam LIdent
happy_var_1 Maybe Kind
forall k1. Maybe k1
Nothing)})
	) (\r :: TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn97 TParam PName
r))

happyReduce_245 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_245 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_245 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 5# 82# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_245
happyReduction_245 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_245 (happy_x_5 :: HappyAbsSyn
happy_x_5 `HappyStk`
	happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (TParam PName)
-> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_2 of { (HappyWrap108 happy_var_2 :: LIdent
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap94
happyOut94 HappyAbsSyn
happy_x_4 of { (HappyWrap94 happy_var_4 :: Located Kind
happy_var_4) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_5 of { (Located happy_var_5 :: Range
happy_var_5 (Token (Sym ParenR  ) _)) -> 
	( LIdent -> Maybe Kind -> ParseM (TParam PName)
mkTParam ((Range, Range) -> LIdent -> LIdent
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_5) LIdent
happy_var_2) (Kind -> Maybe Kind
forall k1. k1 -> Maybe k1
Just (Located Kind -> Kind
forall a. Located a -> a
thing Located Kind
happy_var_4)))}}}})
	) (\r :: TParam PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (TParam PName -> HappyAbsSyn
happyIn97 TParam PName
r))

happyReduce_246 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_246 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_246 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  83# HappyAbsSyn -> HappyAbsSyn
happyReduction_246
happyReduction_246 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_246 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap97
happyOut97 HappyAbsSyn
happy_x_1 of { (HappyWrap97 happy_var_1 :: TParam PName
happy_var_1) -> 
	[TParam PName] -> HappyAbsSyn
happyIn98
		 ([TParam PName
happy_var_1]
	)}

happyReduce_247 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_247 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_247 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  83# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_247
happyReduction_247 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_247 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap98
happyOut98 HappyAbsSyn
happy_x_1 of { (HappyWrap98 happy_var_1 :: [TParam PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap97
happyOut97 HappyAbsSyn
happy_x_2 of { (HappyWrap97 happy_var_2 :: TParam PName
happy_var_2) -> 
	[TParam PName] -> HappyAbsSyn
happyIn98
		 (TParam PName
happy_var_2 TParam PName -> [TParam PName] -> [TParam PName]
forall k1. k1 -> [k1] -> [k1]
: [TParam PName]
happy_var_1
	)}}

happyReduce_248 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_248 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_248 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  84# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_248
happyReduction_248 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_248 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap100
happyOut100 HappyAbsSyn
happy_x_1 of { (HappyWrap100 happy_var_1 :: Type PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	Type PName -> HappyAbsSyn
happyIn99
		 ((Type PName, Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Type PName
happy_var_1,Type PName
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Type PName -> Type PName
forall n. Type n -> Type n -> Type n
TFun Type PName
happy_var_1 Type PName
happy_var_3
	)}}

happyReduce_249 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_249 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_249 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  84# HappyAbsSyn -> HappyAbsSyn
happyReduction_249
happyReduction_249 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_249 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap100
happyOut100 HappyAbsSyn
happy_x_1 of { (HappyWrap100 happy_var_1 :: Type PName
happy_var_1) -> 
	Type PName -> HappyAbsSyn
happyIn99
		 (Type PName
happy_var_1
	)}

happyReduce_250 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_250 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_250 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  85# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_250
happyReduction_250 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_250 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap100
happyOut100 HappyAbsSyn
happy_x_1 of { (HappyWrap100 happy_var_1 :: Type PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap51
happyOut51 HappyAbsSyn
happy_x_2 of { (HappyWrap51 happy_var_2 :: LPName
happy_var_2) -> 
	case HappyAbsSyn -> HappyWrap101
happyOut101 HappyAbsSyn
happy_x_3 of { (HappyWrap101 happy_var_3 :: Type PName
happy_var_3) -> 
	Type PName -> HappyAbsSyn
happyIn100
		 ((Type PName, Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Type PName
happy_var_1,Type PName
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> LPName -> Fixity -> Type PName -> Type PName
forall n. Type n -> Located n -> Fixity -> Type n -> Type n
TInfix Type PName
happy_var_1 LPName
happy_var_2 Fixity
defaultFixity Type PName
happy_var_3
	)}}}

happyReduce_251 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_251 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_251 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  85# HappyAbsSyn -> HappyAbsSyn
happyReduction_251
happyReduction_251 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_251 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap101
happyOut101 HappyAbsSyn
happy_x_1 of { (HappyWrap101 happy_var_1 :: Type PName
happy_var_1) -> 
	Type PName -> HappyAbsSyn
happyIn100
		 (Type PName
happy_var_1
	)}

happyReduce_252 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_252 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_252 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  86# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_252
happyReduction_252 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_252 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap104
happyOut104 HappyAbsSyn
happy_x_1 of { (HappyWrap104 happy_var_1 :: Located [Type PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap102
happyOut102 HappyAbsSyn
happy_x_2 of { (HappyWrap102 happy_var_2 :: Type PName
happy_var_2) -> 
	Type PName -> HappyAbsSyn
happyIn101
		 ((Located [Type PName], Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Type PName]
happy_var_1,Type PName
happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ (Type PName -> Type PName -> Type PName)
-> Type PName -> [Type PName] -> Type PName
forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr Type PName -> Type PName -> Type PName
forall n. Type n -> Type n -> Type n
TSeq Type PName
happy_var_2 ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse (Located [Type PName] -> [Type PName]
forall a. Located a -> a
thing Located [Type PName]
happy_var_1))
	)}}

happyReduce_253 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_253 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_253 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  86# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_253
happyReduction_253 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_253 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap103
happyOut103 HappyAbsSyn
happy_x_2 of { (HappyWrap103 happy_var_2 :: [Type PName]
happy_var_2) -> 
	Type PName -> HappyAbsSyn
happyIn101
		 ((LPName, Type PName) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (LPName
happy_var_1,[Type PName] -> Type PName
forall a. [a] -> a
head [Type PName]
happy_var_2)
                                     (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1) ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse [Type PName]
happy_var_2)
	)}}

happyReduce_254 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_254 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_254 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  86# HappyAbsSyn -> HappyAbsSyn
happyReduction_254
happyReduction_254 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_254 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap102
happyOut102 HappyAbsSyn
happy_x_1 of { (HappyWrap102 happy_var_1 :: Type PName
happy_var_1) -> 
	Type PName -> HappyAbsSyn
happyIn101
		 (Type PName
happy_var_1
	)}

happyReduce_255 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_255 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_255 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
happyReduction_255
happyReduction_255 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_255 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
happy_var_1) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 (LPName -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at LPName
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1) []
	)}

happyReduce_256 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_256 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_256 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_256
happyReduction_256 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_256 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
happy_var_2) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 (Range -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_2) []
	)}}

happyReduce_257 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_257 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_257 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
happyReduction_257
happyReduction_257 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_257 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Num   {}) _))) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 (Located Token -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Integer -> Type PName
forall n. Integer -> Type n
TNum  (Located Token -> Integer
getNum Located Token
happy_var_1)
	)}

happyReduce_258 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_258 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_258 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
happyReduction_258
happyReduction_258 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_258 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (ChrLit {}) _))) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 (Located Token -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Char -> Type PName
forall n. Char -> Type n
TChar (Int -> Char
forall a. Enum a => Int -> a
toEnum (Int -> Char) -> Int -> Char
forall a b. (a -> b) -> a -> b
$ Integer -> Int
forall a. Num a => Integer -> a
fromInteger
                                                          (Integer -> Int) -> Integer -> Int
forall a b. (a -> b) -> a -> b
$ Located Token -> Integer
getNum Located Token
happy_var_1)
	)}

happyReduce_259 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_259 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_259 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_259
happyReduction_259 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_259 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym BracketR) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Type PName -> Type PName
forall n. Type n -> Type n -> Type n
TSeq Type PName
happy_var_2 Type PName
forall n. Type n
TBit
	)}}}

happyReduce_260 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_260 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_260 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_260
happyReduction_260 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_260 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Type PName -> Type PName
forall n. Type n -> Type n
TParens Type PName
happy_var_2
	)}}}

happyReduce_261 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_261 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_261 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_261
happyReduction_261 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_261 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym ParenR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ [Type PName] -> Type PName
forall n. [Type n] -> Type n
TTuple []
	)}}

happyReduce_262 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_262 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_262 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_262
happyReduction_262 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_262 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap105
happyOut105 HappyAbsSyn
happy_x_2 of { (HappyWrap105 happy_var_2 :: [Type PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ [Type PName] -> Type PName
forall n. [Type n] -> Type n
TTuple  ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse [Type PName]
happy_var_2)
	)}}}

happyReduce_263 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_263 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_263 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_263
happyReduction_263 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_263 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym CurlyR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ [Named (Type PName)] -> Type PName
forall n. [Named (Type n)] -> Type n
TRecord []
	)}}

happyReduce_264 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_264 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_264 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_264
happyReduction_264 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_264 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap107
happyOut107 HappyAbsSyn
happy_x_2 of { (HappyWrap107 happy_var_2 :: [Named (Type PName)]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ [Named (Type PName)] -> Type PName
forall n. [Named (Type n)] -> Type n
TRecord ([Named (Type PName)] -> [Named (Type PName)]
forall a. [a] -> [a]
reverse [Named (Type PName)]
happy_var_2)
	)}}}

happyReduce_265 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_265 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_265 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
happyReduction_265
happyReduction_265 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_265 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym Underscore ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn102
		 (Range -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Range
happy_var_1 Type PName
forall n. Type n
TWild
	)}

happyReduce_266 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_266 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_266 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  88# HappyAbsSyn -> HappyAbsSyn
happyReduction_266
happyReduction_266 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_266 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap102
happyOut102 HappyAbsSyn
happy_x_1 of { (HappyWrap102 happy_var_1 :: Type PName
happy_var_1) -> 
	[Type PName] -> HappyAbsSyn
happyIn103
		 ([ Type PName
happy_var_1 ]
	)}

happyReduce_267 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_267 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_267 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_267
happyReduction_267 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_267 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap103
happyOut103 HappyAbsSyn
happy_x_1 of { (HappyWrap103 happy_var_1 :: [Type PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap102
happyOut102 HappyAbsSyn
happy_x_2 of { (HappyWrap102 happy_var_2 :: Type PName
happy_var_2) -> 
	[Type PName] -> HappyAbsSyn
happyIn103
		 (Type PName
happy_var_2 Type PName -> [Type PName] -> [Type PName]
forall k1. k1 -> [k1] -> [k1]
: [Type PName]
happy_var_1
	)}}

happyReduce_268 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_268 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_268 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  89# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_268
happyReduction_268 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_268 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym BracketL) _)) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym BracketR) _)) -> 
	Located [Type PName] -> HappyAbsSyn
happyIn104
		 (Range -> [Type PName] -> Located [Type PName]
forall a. Range -> a -> Located a
Located (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) [ Type PName
happy_var_2 ]
	)}}}

happyReduce_269 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_269 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_269 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce 4# 89# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_269
happyReduction_269 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
happyReduction_269 (happy_x_4 :: HappyAbsSyn
happy_x_4 `HappyStk`
	happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest)
	 = case HappyAbsSyn -> HappyWrap104
happyOut104 HappyAbsSyn
happy_x_1 of { (HappyWrap104 happy_var_1 :: Located [Type PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_4 of { (Located happy_var_4 :: Range
happy_var_4 (Token (Sym BracketR) _)) -> 
	Located [Type PName] -> HappyAbsSyn
happyIn104
		 ((Located [Type PName], Range)
-> Located [Type PName] -> Located [Type PName]
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Located [Type PName]
happy_var_1,Range
happy_var_4) (([Type PName] -> [Type PName])
-> Located [Type PName] -> Located [Type PName]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (Type PName
happy_var_3 Type PName -> [Type PName] -> [Type PName]
forall k1. k1 -> [k1] -> [k1]
:) Located [Type PName]
happy_var_1)
	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
forall a. a -> HappyStk a -> HappyStk a
`HappyStk` HappyStk HappyAbsSyn
happyRest}}}

happyReduce_270 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_270 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_270 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  90# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_270
happyReduction_270 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_270 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_1 of { (HappyWrap99 happy_var_1 :: Type PName
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	[Type PName] -> HappyAbsSyn
happyIn105
		 ([ Type PName
happy_var_3, Type PName
happy_var_1]
	)}}

happyReduce_271 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_271 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_271 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  90# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_271
happyReduction_271 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_271 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap105
happyOut105 HappyAbsSyn
happy_x_1 of { (HappyWrap105 happy_var_1 :: [Type PName]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	[Type PName] -> HappyAbsSyn
happyIn105
		 (Type PName
happy_var_3 Type PName -> [Type PName] -> [Type PName]
forall k1. k1 -> [k1] -> [k1]
: [Type PName]
happy_var_1
	)}}

happyReduce_272 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_272 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_272 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_272
happyReduction_272 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_272 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	Named (Type PName) -> HappyAbsSyn
happyIn106
		 (Named :: forall a. LIdent -> a -> Named a
Named { name :: LIdent
name = LIdent
happy_var_1, value :: Type PName
value = Type PName
happy_var_3 }
	)}}

happyReduce_273 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_273 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_273 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  92# HappyAbsSyn -> HappyAbsSyn
happyReduction_273
happyReduction_273 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_273 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap106
happyOut106 HappyAbsSyn
happy_x_1 of { (HappyWrap106 happy_var_1 :: Named (Type PName)
happy_var_1) -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn107
		 ([Named (Type PName)
happy_var_1]
	)}

happyReduce_274 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_274 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_274 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  92# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_274
happyReduction_274 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_274 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap107
happyOut107 HappyAbsSyn
happy_x_1 of { (HappyWrap107 happy_var_1 :: [Named (Type PName)]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap106
happyOut106 HappyAbsSyn
happy_x_3 of { (HappyWrap106 happy_var_3 :: Named (Type PName)
happy_var_3) -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn107
		 (Named (Type PName)
happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
forall k1. k1 -> [k1] -> [k1]
: [Named (Type PName)]
happy_var_1
	)}}

happyReduce_275 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_275 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_275 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
happyReduction_275
happyReduction_275 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_275 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Ident [] _) _))) -> 
	LIdent -> HappyAbsSyn
happyIn108
		 (let Token (Ident _ str :: Text
str) _ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                         in Located Token
happy_var_1 { thing :: Ident
thing = Text -> Ident
mkIdent Text
str }
	)}

happyReduce_276 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_276 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_276 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
happyReduction_276
happyReduction_276 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_276 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_x)       _)) -> 
	LIdent -> HappyAbsSyn
happyIn108
		 ($WLocated :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent "x" }
	)}

happyReduce_277 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_277 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_277 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
happyReduction_277
happyReduction_277 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_277 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_private)   _)) -> 
	LIdent -> HappyAbsSyn
happyIn108
		 ($WLocated :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent "private" }
	)}

happyReduce_278 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_278 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_278 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
happyReduction_278
happyReduction_278 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_278 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_as)        _)) -> 
	LIdent -> HappyAbsSyn
happyIn108
		 ($WLocated :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent "as" }
	)}

happyReduce_279 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_279 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_279 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
happyReduction_279
happyReduction_279 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_279 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (KW KW_hiding)    _)) -> 
	LIdent -> HappyAbsSyn
happyIn108
		 ($WLocated :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
happy_var_1, thing :: Ident
thing = Text -> Ident
mkIdent "hiding" }
	)}

happyReduce_280 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_280 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_280 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  94# HappyAbsSyn -> HappyAbsSyn
happyReduction_280
happyReduction_280 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_280 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn109
		 ((Ident -> PName) -> LIdent -> LPName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ident -> PName
mkUnqual LIdent
happy_var_1
	)}

happyReduce_281 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_281 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_281 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  95# HappyAbsSyn -> HappyAbsSyn
happyReduction_281
happyReduction_281 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_281 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	Located ModName -> HappyAbsSyn
happyIn110
		 ((Ident -> ModName) -> LIdent -> Located ModName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ([Text] -> ModName
mkModName ([Text] -> ModName) -> (Ident -> [Text]) -> Ident -> ModName
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Text -> [Text] -> [Text]
forall k1. k1 -> [k1] -> [k1]
:[]) (Text -> [Text]) -> (Ident -> Text) -> Ident -> [Text]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ident -> Text
identText) LIdent
happy_var_1
	)}

happyReduce_282 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_282 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_282 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  95# HappyAbsSyn -> HappyAbsSyn
happyReduction_282
happyReduction_282 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_282 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token  Ident{}     _))) -> 
	Located ModName -> HappyAbsSyn
happyIn110
		 (let Token (Ident ns :: [Text]
ns i :: Text
i) _ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                     in [Text] -> ModName
mkModName ([Text]
ns [Text] -> [Text] -> [Text]
forall a. [a] -> [a] -> [a]
++ [Text
i]) ModName -> Located Token -> Located ModName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_283 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_283 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_283 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  96# HappyAbsSyn -> HappyAbsSyn
happyReduction_283
happyReduction_283 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_283 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap110
happyOut110 HappyAbsSyn
happy_x_1 of { (HappyWrap110 happy_var_1 :: Located ModName
happy_var_1) -> 
	Located ModName -> HappyAbsSyn
happyIn111
		 (Located ModName
happy_var_1
	)}

happyReduce_284 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_284 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_284 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  96# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_284
happyReduction_284 :: HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_284 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap110
happyOut110 HappyAbsSyn
happy_x_2 of { (HappyWrap110 happy_var_2 :: Located ModName
happy_var_2) -> 
	Located ModName -> HappyAbsSyn
happyIn111
		 ((ModName -> ModName) -> Located ModName -> Located ModName
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ModName -> ModName
paramInstModName Located ModName
happy_var_2
	)}

happyReduce_285 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_285 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_285 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  97# HappyAbsSyn -> HappyAbsSyn
happyReduction_285
happyReduction_285 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_285 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap109
happyOut109 HappyAbsSyn
happy_x_1 of { (HappyWrap109 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn112
		 (LPName
happy_var_1
	)}

happyReduce_286 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_286 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_286 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  97# HappyAbsSyn -> HappyAbsSyn
happyReduction_286
happyReduction_286 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_286 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token  Ident{}     _))) -> 
	LPName -> HappyAbsSyn
happyIn112
		 (let Token (Ident ns :: [Text]
ns i :: Text
i) _ = Located Token -> Token
forall a. Located a -> a
thing Located Token
happy_var_1
                                     in ModName -> Ident -> PName
mkQual ([Text] -> ModName
mkModName [Text]
ns) (Text -> Ident
mkIdent Text
i) PName -> Located Token -> LPName
forall (f :: * -> *) a b. Functor f => a -> f b -> f a
A.<$ Located Token
happy_var_1
	)}

happyReduce_287 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_287 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_287 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  98# HappyAbsSyn -> HappyAbsSyn
happyReduction_287
happyReduction_287 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_287 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn113
		 (LPName
happy_var_1
	)}

happyReduce_288 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_288 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_288 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  98# HappyAbsSyn -> HappyAbsSyn
happyReduction_288
happyReduction_288 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_288 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_1 of { (HappyWrap50 happy_var_1 :: LPName
happy_var_1) -> 
	LPName -> HappyAbsSyn
happyIn113
		 (LPName
happy_var_1
	)}

happyReduce_289 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_289 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_289 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  98# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_289
happyReduction_289 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
happyReduction_289 happy_x_3 :: p
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: p
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap50
happyOut50 HappyAbsSyn
happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
happy_var_2) -> 
	LPName -> HappyAbsSyn
happyIn113
		 (LPName
happy_var_2
	)}

happyReduce_290 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_290 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_290 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  99# HappyAbsSyn -> HappyAbsSyn
happyReduction_290
happyReduction_290 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_290 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap112
happyOut112 HappyAbsSyn
happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
happy_var_1) -> 
	Type PName -> HappyAbsSyn
happyIn114
		 (LPName -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at LPName
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ PName -> [Type PName] -> Type PName
forall n. n -> [Type n] -> Type n
TUser (LPName -> PName
forall a. Located a -> a
thing LPName
happy_var_1) []
	)}

happyReduce_291 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_291 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_291 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  99# HappyAbsSyn -> HappyAbsSyn
happyReduction_291
happyReduction_291 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_291 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (happy_var_1 :: Located Token
happy_var_1@(Located _ (Token (Num   {}) _))) -> 
	Type PName -> HappyAbsSyn
happyIn114
		 (Located Token -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at Located Token
happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
forall a b. (a -> b) -> a -> b
$ Integer -> Type PName
forall n. Integer -> Type n
TNum  (Located Token -> Integer
getNum Located Token
happy_var_1)
	)}

happyReduce_292 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_292 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_292 = Int#
-> Int#
-> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyMonadReduce 3# 99# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_292
happyReduction_292 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
happyReduction_292 (happy_x_3 :: HappyAbsSyn
happy_x_3 `HappyStk`
	happy_x_2 :: HappyAbsSyn
happy_x_2 `HappyStk`
	happy_x_1 :: HappyAbsSyn
happy_x_1 `HappyStk`
	happyRest :: HappyStk HappyAbsSyn
happyRest) tk :: p
tk
	 = ParseM (Type PName)
-> (Type PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen ((case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym ParenL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym ParenR  ) _)) -> 
	( Range -> Type PName -> ParseM (Type PName)
validDemotedType (Range -> Range -> Range
rComb Range
happy_var_1 Range
happy_var_3) Type PName
happy_var_2)}}})
	) (\r :: Type PName
r -> HappyAbsSyn -> ParseM HappyAbsSyn
forall a. a -> ParseM a
happyReturn (Type PName -> HappyAbsSyn
happyIn114 Type PName
r))

happyReduce_293 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_293 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_293 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_2  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_293
happyReduction_293 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_293 happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_2 of { (Located happy_var_2 :: Range
happy_var_2 (Token (Sym CurlyR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn114
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_2) ([Named (Type PName)] -> Type PName
forall n. [Named (Type n)] -> Type n
TRecord [])
	)}}

happyReduce_294 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_294 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_294 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_294
happyReduction_294 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_294 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap116
happyOut116 HappyAbsSyn
happy_x_2 of { (HappyWrap116 happy_var_2 :: [Named (Type PName)]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn114
		 ((Range, Range) -> Type PName -> Type PName
forall l t. (HasLoc l, AddLoc t) => l -> t -> t
at (Range
happy_var_1,Range
happy_var_3) ([Named (Type PName)] -> Type PName
forall n. [Named (Type n)] -> Type n
TRecord ([Named (Type PName)] -> [Named (Type PName)]
forall a. [a] -> [a]
reverse [Named (Type PName)]
happy_var_2))
	)}}}

happyReduce_295 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_295 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_295 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_295
happyReduction_295 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_295 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn114
		 (Maybe Range -> [Type PName] -> Type PName
anonRecord ((Range, Range) -> Maybe Range
forall t. HasLoc t => t -> Maybe Range
getLoc (Range
happy_var_1,Range
happy_var_3)) [Type PName
happy_var_2]
	)}}}

happyReduce_296 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_296 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_296 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_296
happyReduction_296 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
happyReduction_296 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: HappyAbsSyn
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_1 of { (Located happy_var_1 :: Range
happy_var_1 (Token (Sym CurlyL  ) _)) -> 
	case HappyAbsSyn -> HappyWrap105
happyOut105 HappyAbsSyn
happy_x_2 of { (HappyWrap105 happy_var_2 :: [Type PName]
happy_var_2) -> 
	case HappyAbsSyn -> Located Token
happyOutTok HappyAbsSyn
happy_x_3 of { (Located happy_var_3 :: Range
happy_var_3 (Token (Sym CurlyR  ) _)) -> 
	Type PName -> HappyAbsSyn
happyIn114
		 (Maybe Range -> [Type PName] -> Type PName
anonRecord ((Range, Range) -> Maybe Range
forall t. HasLoc t => t -> Maybe Range
getLoc (Range
happy_var_1,Range
happy_var_3)) ([Type PName] -> [Type PName]
forall a. [a] -> [a]
reverse [Type PName]
happy_var_2)
	)}}}

happyReduce_297 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_297 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_297 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  100# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_297
happyReduction_297 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_297 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap108
happyOut108 HappyAbsSyn
happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap99
happyOut99 HappyAbsSyn
happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
happy_var_3) -> 
	Named (Type PName) -> HappyAbsSyn
happyIn115
		 (Named :: forall a. LIdent -> a -> Named a
Named { name :: LIdent
name = LIdent
happy_var_1, value :: Type PName
value = Type PName
happy_var_3 }
	)}}

happyReduce_298 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_298 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_298 = Int#
-> (HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_1  101# HappyAbsSyn -> HappyAbsSyn
happyReduction_298
happyReduction_298 :: HappyAbsSyn -> HappyAbsSyn
happyReduction_298 happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap115
happyOut115 HappyAbsSyn
happy_x_1 of { (HappyWrap115 happy_var_1 :: Named (Type PName)
happy_var_1) -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn116
		 ([Named (Type PName)
happy_var_1]
	)}

happyReduce_299 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
happyReduce_299 :: Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyReduce_299 = Int#
-> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
-> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happySpecReduce_3  101# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_299
happyReduction_299 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
happyReduction_299 happy_x_3 :: HappyAbsSyn
happy_x_3
	happy_x_2 :: p
happy_x_2
	happy_x_1 :: HappyAbsSyn
happy_x_1
	 =  case HappyAbsSyn -> HappyWrap116
happyOut116 HappyAbsSyn
happy_x_1 of { (HappyWrap116 happy_var_1 :: [Named (Type PName)]
happy_var_1) -> 
	case HappyAbsSyn -> HappyWrap115
happyOut115 HappyAbsSyn
happy_x_3 of { (HappyWrap115 happy_var_3 :: Named (Type PName)
happy_var_3) -> 
	[Named (Type PName)] -> HappyAbsSyn
happyIn116
		 (Named (Type PName)
happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
forall k1. k1 -> [k1] -> [k1]
: [Named (Type PName)]
happy_var_1
	)}}

happyNewToken :: Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> ParseM HappyAbsSyn
happyNewToken action :: Int#
action sts :: Happy_IntList
sts stk :: HappyStk HappyAbsSyn
stk
	= (Located Token -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
forall a. (Located Token -> ParseM a) -> ParseM a
lexerP(\tk :: Located Token
tk -> 
	let cont :: Int# -> ParseM HappyAbsSyn
cont i :: Int#
i = Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyDoAction Int#
i Located Token
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk in
	case Located Token
tk of {
	Located _ (Token EOF _) -> Int#
-> Located Token
-> Int#
-> Happy_IntList
-> HappyStk HappyAbsSyn
-> ParseM HappyAbsSyn
happyDoAction 63# Located Token
tk Int#
action Happy_IntList
sts HappyStk HappyAbsSyn
stk;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (Num   {}) _)) -> Int# -> ParseM HappyAbsSyn
cont 1#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (StrLit {}) _)) -> Int# -> ParseM HappyAbsSyn
cont 2#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (ChrLit {}) _)) -> Int# -> ParseM HappyAbsSyn
cont 3#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (Ident [] _) _)) -> Int# -> ParseM HappyAbsSyn
cont 4#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token  Ident{}     _)) -> Int# -> ParseM HappyAbsSyn
cont 5#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_include)   _) -> Int# -> ParseM HappyAbsSyn
cont 6#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_import)    _) -> Int# -> ParseM HappyAbsSyn
cont 7#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_as)        _) -> Int# -> ParseM HappyAbsSyn
cont 8#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_hiding)    _) -> Int# -> ParseM HappyAbsSyn
cont 9#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_private)   _) -> Int# -> ParseM HappyAbsSyn
cont 10#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_parameter) _) -> Int# -> ParseM HappyAbsSyn
cont 11#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_property)  _) -> Int# -> ParseM HappyAbsSyn
cont 12#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_infix)     _) -> Int# -> ParseM HappyAbsSyn
cont 13#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_infixl)    _) -> Int# -> ParseM HappyAbsSyn
cont 14#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_infixr)    _) -> Int# -> ParseM HappyAbsSyn
cont 15#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_type   ) _) -> Int# -> ParseM HappyAbsSyn
cont 16#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_newtype) _) -> Int# -> ParseM HappyAbsSyn
cont 17#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_module ) _) -> Int# -> ParseM HappyAbsSyn
cont 18#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_where  ) _) -> Int# -> ParseM HappyAbsSyn
cont 19#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_let    ) _) -> Int# -> ParseM HappyAbsSyn
cont 20#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_if     ) _) -> Int# -> ParseM HappyAbsSyn
cont 21#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_then   ) _) -> Int# -> ParseM HappyAbsSyn
cont 22#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_else   ) _) -> Int# -> ParseM HappyAbsSyn
cont 23#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_x)       _) -> Int# -> ParseM HappyAbsSyn
cont 24#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_primitive) _) -> Int# -> ParseM HappyAbsSyn
cont 25#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_constraint) _) -> Int# -> ParseM HappyAbsSyn
cont 26#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (KW KW_Prop) _) -> Int# -> ParseM HappyAbsSyn
cont 27#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym BracketL) _) -> Int# -> ParseM HappyAbsSyn
cont 28#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym BracketR) _) -> Int# -> ParseM HappyAbsSyn
cont 29#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym ArrL    ) _) -> Int# -> ParseM HappyAbsSyn
cont 30#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym DotDot  ) _) -> Int# -> ParseM HappyAbsSyn
cont 31#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym DotDotDot) _) -> Int# -> ParseM HappyAbsSyn
cont 32#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Bar     ) _) -> Int# -> ParseM HappyAbsSyn
cont 33#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym ParenL  ) _) -> Int# -> ParseM HappyAbsSyn
cont 34#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym ParenR  ) _) -> Int# -> ParseM HappyAbsSyn
cont 35#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Comma   ) _) -> Int# -> ParseM HappyAbsSyn
cont 36#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Semi    ) _) -> Int# -> ParseM HappyAbsSyn
cont 37#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Dot     ) _) -> Int# -> ParseM HappyAbsSyn
cont 38#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym CurlyL  ) _) -> Int# -> ParseM HappyAbsSyn
cont 39#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym CurlyR  ) _) -> Int# -> ParseM HappyAbsSyn
cont 40#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym TriL    ) _) -> Int# -> ParseM HappyAbsSyn
cont 41#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym TriR    ) _) -> Int# -> ParseM HappyAbsSyn
cont 42#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym EqDef   ) _) -> Int# -> ParseM HappyAbsSyn
cont 43#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym BackTick) _) -> Int# -> ParseM HappyAbsSyn
cont 44#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Colon   ) _) -> Int# -> ParseM HappyAbsSyn
cont 45#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym ArrR    ) _) -> Int# -> ParseM HappyAbsSyn
cont 46#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym FatArrR ) _) -> Int# -> ParseM HappyAbsSyn
cont 47#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Lambda  ) _) -> Int# -> ParseM HappyAbsSyn
cont 48#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Sym Underscore ) _) -> Int# -> ParseM HappyAbsSyn
cont 49#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Virt VCurlyL)  _) -> Int# -> ParseM HappyAbsSyn
cont 50#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Virt VCurlyR)  _) -> Int# -> ParseM HappyAbsSyn
cont 51#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Virt VSemi)    _) -> Int# -> ParseM HappyAbsSyn
cont 52#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op Plus)  _) -> Int# -> ParseM HappyAbsSyn
cont 53#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op Mul)   _) -> Int# -> ParseM HappyAbsSyn
cont 54#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op Exp)   _) -> Int# -> ParseM HappyAbsSyn
cont 55#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op Minus) _) -> Int# -> ParseM HappyAbsSyn
cont 56#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op Complement) _) -> Int# -> ParseM HappyAbsSyn
cont 57#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op Hash) _) -> Int# -> ParseM HappyAbsSyn
cont 58#;
	Located happy_dollar_dollar :: Range
happy_dollar_dollar (Token (Op At) _) -> Int# -> ParseM HappyAbsSyn
cont 59#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (Op (Other [] _)) _)) -> Int# -> ParseM HappyAbsSyn
cont 60#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (Op  Other{}   )  _)) -> Int# -> ParseM HappyAbsSyn
cont 61#;
	happy_dollar_dollar :: Located Token
happy_dollar_dollar@(Located _ (Token (White DocStr) _)) -> Int# -> ParseM HappyAbsSyn
cont 62#;
	_ -> (Located Token, [String]) -> ParseM HappyAbsSyn
forall a. (Located Token, [String]) -> ParseM a
happyError' (Located Token
tk, [])
	})

happyError_ :: [String] -> Int# -> Located Token -> ParseM a
happyError_ explist :: [String]
explist 63# tk :: Located Token
tk = (Located Token, [String]) -> ParseM a
forall a. (Located Token, [String]) -> ParseM a
happyError' (Located Token
tk, [String]
explist)
happyError_ explist :: [String]
explist _ tk :: Located Token
tk = (Located Token, [String]) -> ParseM a
forall a. (Located Token, [String]) -> ParseM a
happyError' (Located Token
tk, [String]
explist)

happyThen :: () => ParseM a -> (a -> ParseM b) -> ParseM b
happyThen :: ParseM a -> (a -> ParseM b) -> ParseM b
happyThen = ParseM a -> (a -> ParseM b) -> ParseM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
(>>=)
happyReturn :: () => a -> ParseM a
happyReturn :: a -> ParseM a
happyReturn = (a -> ParseM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
happyParse :: () => Happy_GHC_Exts.Int# -> ParseM (HappyAbsSyn )

happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )

happyDoAction :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )

happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn ))

happyThen1 :: () => ParseM a -> (a -> ParseM b) -> ParseM b
happyThen1 :: ParseM a -> (a -> ParseM b) -> ParseM b
happyThen1 = ParseM a -> (a -> ParseM b) -> ParseM b
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen
happyReturn1 :: () => a -> ParseM a
happyReturn1 :: a -> ParseM a
happyReturn1 = a -> ParseM a
forall a. a -> ParseM a
happyReturn
happyError' :: () => ((Located Token), [String]) -> ParseM a
happyError' :: (Located Token, [String]) -> ParseM a
happyError' tk :: (Located Token, [String])
tk = (\(tokens :: Located Token
tokens, explist :: [String]
explist) -> ParseM a
forall a. ParseM a
happyError) (Located Token, [String])
tk
vmodule :: ParseM (Module PName)
vmodule = ParseM (Module PName)
happySomeParser where
 happySomeParser :: ParseM (Module PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Module PName)) -> ParseM (Module PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 0#) (\x :: HappyAbsSyn
x -> Module PName -> ParseM (Module PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap15 x' :: Module PName
x') = HappyAbsSyn -> HappyWrap15
happyOut15 HappyAbsSyn
x} in Module PName
x'))

program :: ParseM (Program PName)
program = ParseM (Program PName)
happySomeParser where
 happySomeParser :: ParseM (Program PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Program PName))
-> ParseM (Program PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 1#) (\x :: HappyAbsSyn
x -> Program PName -> ParseM (Program PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap23 x' :: Program PName
x') = HappyAbsSyn -> HappyWrap23
happyOut23 HappyAbsSyn
x} in Program PName
x'))

programLayout :: ParseM (Program PName)
programLayout = ParseM (Program PName)
happySomeParser where
 happySomeParser :: ParseM (Program PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Program PName))
-> ParseM (Program PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 2#) (\x :: HappyAbsSyn
x -> Program PName -> ParseM (Program PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap24 x' :: Program PName
x') = HappyAbsSyn -> HappyWrap24
happyOut24 HappyAbsSyn
x} in Program PName
x'))

expr :: ParseM (Expr PName)
expr = ParseM (Expr PName)
happySomeParser where
 happySomeParser :: ParseM (Expr PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Expr PName)) -> ParseM (Expr PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 3#) (\x :: HappyAbsSyn
x -> Expr PName -> ParseM (Expr PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap55 x' :: Expr PName
x') = HappyAbsSyn -> HappyWrap55
happyOut55 HappyAbsSyn
x} in Expr PName
x'))

decl :: ParseM (Decl PName)
decl = ParseM (Decl PName)
happySomeParser where
 happySomeParser :: ParseM (Decl PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Decl PName)) -> ParseM (Decl PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 4#) (\x :: HappyAbsSyn
x -> Decl PName -> ParseM (Decl PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap36 x' :: Decl PName
x') = HappyAbsSyn -> HappyWrap36
happyOut36 HappyAbsSyn
x} in Decl PName
x'))

decls :: ParseM [Decl PName]
decls = ParseM [Decl PName]
happySomeParser where
 happySomeParser :: ParseM [Decl PName]
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM [Decl PName]) -> ParseM [Decl PName]
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 5#) (\x :: HappyAbsSyn
x -> [Decl PName] -> ParseM [Decl PName]
forall a. a -> ParseM a
happyReturn (let {(HappyWrap46 x' :: [Decl PName]
x') = HappyAbsSyn -> HappyWrap46
happyOut46 HappyAbsSyn
x} in [Decl PName]
x'))

declsLayout :: ParseM [Decl PName]
declsLayout = ParseM [Decl PName]
happySomeParser where
 happySomeParser :: ParseM [Decl PName]
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM [Decl PName]) -> ParseM [Decl PName]
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 6#) (\x :: HappyAbsSyn
x -> [Decl PName] -> ParseM [Decl PName]
forall a. a -> ParseM a
happyReturn (let {(HappyWrap48 x' :: [Decl PName]
x') = HappyAbsSyn -> HappyWrap48
happyOut48 HappyAbsSyn
x} in [Decl PName]
x'))

letDecl :: ParseM (Decl PName)
letDecl = ParseM (Decl PName)
happySomeParser where
 happySomeParser :: ParseM (Decl PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Decl PName)) -> ParseM (Decl PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 7#) (\x :: HappyAbsSyn
x -> Decl PName -> ParseM (Decl PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap37 x' :: Decl PName
x') = HappyAbsSyn -> HappyWrap37
happyOut37 HappyAbsSyn
x} in Decl PName
x'))

repl :: ParseM (ReplInput PName)
repl = ParseM (ReplInput PName)
happySomeParser where
 happySomeParser :: ParseM (ReplInput PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (ReplInput PName))
-> ParseM (ReplInput PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 8#) (\x :: HappyAbsSyn
x -> ReplInput PName -> ParseM (ReplInput PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap49 x' :: ReplInput PName
x') = HappyAbsSyn -> HappyWrap49
happyOut49 HappyAbsSyn
x} in ReplInput PName
x'))

schema :: ParseM (Schema PName)
schema = ParseM (Schema PName)
happySomeParser where
 happySomeParser :: ParseM (Schema PName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Schema PName)) -> ParseM (Schema PName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 9#) (\x :: HappyAbsSyn
x -> Schema PName -> ParseM (Schema PName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap90 x' :: Schema PName
x') = HappyAbsSyn -> HappyWrap90
happyOut90 HappyAbsSyn
x} in Schema PName
x'))

modName :: ParseM (Located ModName)
modName = ParseM (Located ModName)
happySomeParser where
 happySomeParser :: ParseM (Located ModName)
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM (Located ModName))
-> ParseM (Located ModName)
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 10#) (\x :: HappyAbsSyn
x -> Located ModName -> ParseM (Located ModName)
forall a. a -> ParseM a
happyReturn (let {(HappyWrap111 x' :: Located ModName
x') = HappyAbsSyn -> HappyWrap111
happyOut111 HappyAbsSyn
x} in Located ModName
x'))

helpName :: ParseM LPName
helpName = ParseM LPName
happySomeParser where
 happySomeParser :: ParseM LPName
happySomeParser = ParseM HappyAbsSyn
-> (HappyAbsSyn -> ParseM LPName) -> ParseM LPName
forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
happyThen (Int# -> ParseM HappyAbsSyn
happyParse 11#) (\x :: HappyAbsSyn
x -> LPName -> ParseM LPName
forall a. a -> ParseM a
happyReturn (let {(HappyWrap113 x' :: LPName
x') = HappyAbsSyn -> HappyWrap113
happyOut113 HappyAbsSyn
x} in LPName
x'))

happySeq :: a -> b -> b
happySeq = a -> b -> b
forall a b. a -> b -> b
happyDontSeq


parseModName :: String -> Maybe ModName
parseModName :: String -> Maybe ModName
parseModName txt :: String
txt =
  case Config
-> ParseM (Located ModName)
-> String
-> Either ParseError (Located ModName)
forall a. Config -> ParseM a -> String -> Either ParseError a
parseString Config
defaultConfig { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Located ModName)
modName String
txt of
    Right a :: Located ModName
a -> ModName -> Maybe ModName
forall k1. k1 -> Maybe k1
Just (Located ModName -> ModName
forall a. Located a -> a
thing Located ModName
a)
    Left _  -> Maybe ModName
forall k1. Maybe k1
Nothing

parseHelpName :: String -> Maybe PName
parseHelpName :: String -> Maybe PName
parseHelpName txt :: String
txt =
  case Config -> ParseM LPName -> String -> Either ParseError LPName
forall a. Config -> ParseM a -> String -> Either ParseError a
parseString Config
defaultConfig { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM LPName
helpName String
txt of
    Right a :: LPName
a -> PName -> Maybe PName
forall k1. k1 -> Maybe k1
Just (LPName -> PName
forall a. Located a -> a
thing LPName
a)
    Left _  -> Maybe PName
forall k1. Maybe k1
Nothing

addImplicitIncludes :: Config -> Program PName -> Program PName
addImplicitIncludes :: Config -> Program PName -> Program PName
addImplicitIncludes cfg :: Config
cfg (Program ds :: [TopDecl PName]
ds) =
  [TopDecl PName] -> Program PName
forall name. [TopDecl name] -> Program name
Program ([TopDecl PName] -> Program PName)
-> [TopDecl PName] -> Program PName
forall a b. (a -> b) -> a -> b
$ (String -> TopDecl PName) -> [String] -> [TopDecl PName]
forall a b. (a -> b) -> [a] -> [b]
map String -> TopDecl PName
forall name. String -> TopDecl name
path (Config -> [String]
cfgAutoInclude Config
cfg) [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
forall a. [a] -> [a] -> [a]
++ [TopDecl PName]
ds
  where path :: String -> TopDecl name
path p :: String
p = Located String -> TopDecl name
forall name. Located String -> TopDecl name
Include $WLocated :: forall a. Range -> a -> Located a
Located { srcRange :: Range
srcRange = Range
rng, thing :: String
thing = String
p }
        rng :: Range
rng    = $WRange :: Position -> Position -> String -> Range
Range { source :: String
source = Config -> String
cfgSource Config
cfg, from :: Position
from = Position
start, to :: Position
to = Position
start }


parseProgramWith :: Config -> Text -> Either ParseError (Program PName)
parseProgramWith :: Config -> Text -> Either ParseError (Program PName)
parseProgramWith cfg :: Config
cfg s :: Text
s = case Text -> Either ParseError (Program PName)
res Text
s of
                          Left err :: ParseError
err -> ParseError -> Either ParseError (Program PName)
forall a b. a -> Either a b
Left ParseError
err
                          Right a :: Program PName
a  -> Program PName -> Either ParseError (Program PName)
forall a b. b -> Either a b
Right (Config -> Program PName -> Program PName
addImplicitIncludes Config
cfg Program PName
a)
  where
  res :: Text -> Either ParseError (Program PName)
res = Config
-> ParseM (Program PName)
-> Text
-> Either ParseError (Program PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg (ParseM (Program PName)
 -> Text -> Either ParseError (Program PName))
-> ParseM (Program PName)
-> Text
-> Either ParseError (Program PName)
forall a b. (a -> b) -> a -> b
$ case Config -> Layout
cfgLayout Config
cfg of
                      Layout   -> ParseM (Program PName)
programLayout
                      NoLayout -> ParseM (Program PName)
program

parseModule :: Config -> Text -> Either ParseError (Module PName)
parseModule :: Config -> Text -> Either ParseError (Module PName)
parseModule cfg :: Config
cfg = Config
-> ParseM (Module PName)
-> Text
-> Either ParseError (Module PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
True } ParseM (Module PName)
vmodule

parseProgram :: Layout -> Text -> Either ParseError (Program PName)
parseProgram :: Layout -> Text -> Either ParseError (Program PName)
parseProgram l :: Layout
l = Config -> Text -> Either ParseError (Program PName)
parseProgramWith Config
defaultConfig { cfgLayout :: Layout
cfgLayout = Layout
l }

parseExprWith :: Config -> Text -> Either ParseError (Expr PName)
parseExprWith :: Config -> Text -> Either ParseError (Expr PName)
parseExprWith cfg :: Config
cfg = Config
-> ParseM (Expr PName) -> Text -> Either ParseError (Expr PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Expr PName)
expr

parseExpr :: Text -> Either ParseError (Expr PName)
parseExpr :: Text -> Either ParseError (Expr PName)
parseExpr = Config -> Text -> Either ParseError (Expr PName)
parseExprWith Config
defaultConfig

parseDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseDeclWith cfg :: Config
cfg = Config
-> ParseM (Decl PName) -> Text -> Either ParseError (Decl PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Decl PName)
decl

parseDecl :: Text -> Either ParseError (Decl PName)
parseDecl :: Text -> Either ParseError (Decl PName)
parseDecl = Config -> Text -> Either ParseError (Decl PName)
parseDeclWith Config
defaultConfig

parseDeclsWith :: Config -> Text -> Either ParseError [Decl PName]
parseDeclsWith :: Config -> Text -> Either ParseError [Decl PName]
parseDeclsWith cfg :: Config
cfg = Config
-> ParseM [Decl PName] -> Text -> Either ParseError [Decl PName]
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
ms } ParseM [Decl PName]
decls'
  where (ms :: Bool
ms, decls' :: ParseM [Decl PName]
decls') = case Config -> Layout
cfgLayout Config
cfg of
                         Layout   -> (Bool
True, ParseM [Decl PName]
declsLayout)
                         NoLayout -> (Bool
False, ParseM [Decl PName]
decls)

parseDecls :: Text -> Either ParseError [Decl PName]
parseDecls :: Text -> Either ParseError [Decl PName]
parseDecls = Config -> Text -> Either ParseError [Decl PName]
parseDeclsWith Config
defaultConfig

parseLetDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseLetDeclWith :: Config -> Text -> Either ParseError (Decl PName)
parseLetDeclWith cfg :: Config
cfg = Config
-> ParseM (Decl PName) -> Text -> Either ParseError (Decl PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Decl PName)
letDecl

parseLetDecl :: Text -> Either ParseError (Decl PName)
parseLetDecl :: Text -> Either ParseError (Decl PName)
parseLetDecl = Config -> Text -> Either ParseError (Decl PName)
parseLetDeclWith Config
defaultConfig

parseReplWith :: Config -> Text -> Either ParseError (ReplInput PName)
parseReplWith :: Config -> Text -> Either ParseError (ReplInput PName)
parseReplWith cfg :: Config
cfg = Config
-> ParseM (ReplInput PName)
-> Text
-> Either ParseError (ReplInput PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (ReplInput PName)
repl

parseRepl :: Text -> Either ParseError (ReplInput PName)
parseRepl :: Text -> Either ParseError (ReplInput PName)
parseRepl = Config -> Text -> Either ParseError (ReplInput PName)
parseReplWith Config
defaultConfig

parseSchemaWith :: Config -> Text -> Either ParseError (Schema PName)
parseSchemaWith :: Config -> Text -> Either ParseError (Schema PName)
parseSchemaWith cfg :: Config
cfg = Config
-> ParseM (Schema PName)
-> Text
-> Either ParseError (Schema PName)
forall a. Config -> ParseM a -> Text -> Either ParseError a
parse Config
cfg { cfgModuleScope :: Bool
cfgModuleScope = Bool
False } ParseM (Schema PName)
schema

parseSchema :: Text -> Either ParseError (Schema PName)
parseSchema :: Text -> Either ParseError (Schema PName)
parseSchema = Config -> Text -> Either ParseError (Schema PName)
parseSchemaWith Config
defaultConfig

-- vim: ft=haskell
{-# LINE 1 "templates/GenericTemplate.hs" #-}
-- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $













-- 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



















data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList








































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 ERROR_TOK, 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 (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) 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    = happyAdjustOffset (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#




{-# INLINE happyLt #-}
happyLt x y = LT(x,y)


readArrayBit arr bit =
    Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16)
  where unbox_int (Happy_GHC_Exts.I# x) = x






data HappyAddr = HappyA# Happy_GHC_Exts.Addr#


-----------------------------------------------------------------------------
-- HappyState data type (not arrays)













-----------------------------------------------------------------------------
-- 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 = happyAdjustOffset (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 = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st)
         off_i = (off Happy_GHC_Exts.+# nt)
         new_state = indexShortOffAddr happyTable off_i




-----------------------------------------------------------------------------
-- Error recovery (ERROR_TOK is the error token)

-- parse error if we are in recovery and we fail again
happyFail explist 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_ explist 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  ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts) 
                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
--      trace ("discarding state, depth " ++ show (length stk))  $
        DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk))
-}

-- Enter error recovery: generate an error token,
--                       save the old token and carry on.
happyFail explist 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.