module Main where import Cardano.Chairman.Commands import Control.Monad import Options.Applicative main :: IO () IO () main = forall (m :: * -> *) a. Monad m => m (m a) -> m a join forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. ParserPrefs -> ParserInfo a -> IO a customExecParser ( PrefsMod -> ParserPrefs prefs (PrefsMod showHelpOnEmpty forall a. Semigroup a => a -> a -> a <> PrefsMod showHelpOnError) ) forall a b. (a -> b) -> a -> b $ forall a. Parser a -> InfoMod a -> ParserInfo a info (Parser (IO ()) commands forall (f :: * -> *) a b. Applicative f => f a -> f (a -> b) -> f b <**> forall a. Parser (a -> a) helper) ( forall a. InfoMod a fullDesc forall a. Semigroup a => a -> a -> a <> forall a. String -> InfoMod a progDesc String "Chairman checks Cardano clusters for progress and consensus." forall a. Semigroup a => a -> a -> a <> forall a. String -> InfoMod a header String "Chairman sits in a room full of Shelley nodes, and checks \ \if they are all behaving ..." )