h$\X      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                               Safe-Inferred >? goatee2A string containing the name of this application, "Goatee".goatee%A user-presentable copyright message.goatee$The home page for Goatee on the web.goatee!A list of contributors to Goatee. Safe-Inferred >?goateeDrops the element at an index from a list. If the index is out of bounds then the list is returned unmodified.goateeInserts the element into the list before the given position. If the position is less than 0 or greater than the length of the list, then the index is clamped to this range.goateelistReplace old new list replaces all occurrences of old with new in list.goatee3Modifies the element at a specific index in a list.goateeIf any item is a , then the list of &s is returned, otherwise the list of s is returned. goateefor is flip map. goatee.Transforms both values in a homogeneous tuple. goateeInverts a map, collecting all of the keys that map to a single value in one list in the result map. No guarantees are made on the order of the keys in each value's list. If you want the results in ascending order, apply    to the result. goatee#Executes the monadic function if a  contains a value. goateeFinds the first tuple whose first element is true, and returns its second element. If all of the first values are false, then the first argument to cond is returned instead.goateeA function form of if that takes its test last.goatee in a monad. Executes the actions in the list in order. If any action returns false then the remaining actions are skipped and the result is false. Otherwise all actions returned true, and the result is true. An empty list returns true.goatee/ that also passes in the index of each element.goateewhileM test body repeatedly evaluates test% until it returns false. Every time test returns true, body is executed once.goateewhileM' test body repeatedly evaluates test until it returns . Every time it returns a , that value is passed to body and the result is executed.goateeA while loop that supports returning a value, and also exiting early from the body.whileM'' test body repeatedly evaluates test. If the test produces a Right a, then body a4 is evaluated, and the loop will either repeat (if body returns Nothing) or exit (if body returns a Just r). If test produces a Left r: at any point, then the loop immediately exits with that r value.goateedoWhileM init body repeatedly calls body with init. As long as body returns a Right value, it is re-executed with the returned value. When it returns a Left1 value, the loop stops and the value is returned.   Safe-Inferred >?kgoateeA base-10, infinite-precision, floating-point number. Implemented as an infinite-precision significand together with an exponent, such that the numeric value is equal to  f * (10 ^  f)(. The exponent is a limited-precision , because some operations may break if the exponent is larger (specifically  and +). This shouldn't be an issue for Goatee.%These values form an integral domain.The  instance always outputs in decimal notation, never scientific notation. Examples: 300 (never trailing .0 if there's no fractional part) 0.1 (never redundant trailing or leading zeros)Similarly, the . instance accepts numbers matching the regex -?\d+(\.\d+)?(e-?\d+)?. Scientific exponent notation is supported for reading, for ease of converting s to s.goateeencode significand exponent creates a  value whose numeric value is significand * (10 ^ exponent).goatee Converts a  to a  (with as much precision as the   instance provides).goatee Converts a  to a  , lossily. Safe-Inferred >?) goateeA monad for accumulating string output with the possibility of failure.!goateeReturns either the rendered result on the right, or a message describing a failure on the left."goateeWraps a renderer in an exception handler that, when the renderer or something it calls fails, will add context about this renderer's invocation to the failure message. !" !" Safe-Inferred >?7#8#goatee, replacing all whitespaces (including newlines) with spaces.ngoateeConstructs a value for a UnknownProperty.ogoateeReturns the logical negation of a stone color, yang for yin and yin for yang.pgoatee9The default variation mode as defined by the SGF spec is 'VariationMode ShowChildVariations True.qgoateeParses a numeric variation mode, returning nothing if the number is invalid.rgoatee/Returns the integer value for a variation mode.sgoatee Converts a = to a pair of [$s representing the line's endpoints.tgoatee0Returns the string representation for a ruleset.ugoatee,Parses a string representation of a ruleset.vgoateeEquality is based on unordered, set equality of the underlying points.#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu\]^_`a[XYZbcdefghijUVWkSTlQRmOPnNKLMHIJoDEFGABCpqr@?=>s<6789:;012345+,-./()*#$%&'tu Safe-Inferred >?8' Safe-Inferred >?9goatee,A parser for SGF SimpleText property values.goateeA parser for SGF text property values. Its argument should be true if the text is inside of a composed property value, so ':', should terminate the value in addition to ']'. Safe-Inferred >?:#None >?OgoateeMetadata for a property that contains a value. Corresponds to a non-nullary data constructor of .goateeMetadata for a property that does not contain a value. Corresponds to a nullary data constructor of .goateeAn existential type for any descriptor of a property that holds a value of a specific type. Has instances for  and , similar to .goatee2An existential type for any property descriptor.  has a  instance, so there is no need to extract the value with a pattern match before using  methods.goatee A class for )s of properties that also contain values.goateeExtracts the value from a property of the given type. Behaviour is undefined if the property is not of the given type.goatee%Builds a property from a given value.goatee0A class for types that contain metadata about a '. The main instance of this class is  itself; s can be treated as though they have metadata directly. When referring to a property in general rather than a specific instance, use the values of  and . See also .goatee7Returns the name of the property, as used in SGF files.goatee?Returns the type of the property, as specified by the SGF spec.goateeReturns whether the value of the given property is inherited from the lowest ancestor specifying the property, when the property is not set on a node itself.goateeReturns whether the given property has the type of a descriptor.goatee0A parser of property values in SGF format (e.g. "[ab]"% for a property that takes a point).goatee/A renderer property values to SGF format (e.g. B (Just (1,2)) renders to "[ab]").goateeA renderer for displaying property values in a UI. Displays the value in a human-readable format.goatee5The property types that SGF uses to group properties.goateeCannot mix with setup nodes.goateeCannot mix with move nodes.goateeMay only appear in root nodes.goateeAt most one on any path.goatee%May appear anywhere in the game tree.goatee:An SGF property that gives a node meaning. A property is known: if its meaning is defined by the SGF specification, and unknown otherwise. Known properties each have their own data constructors. Unknown properties are represented by the  data constructor.goateeBlack move (nothing iff pass).goatee/Execute move unconditionally (even if illegal).goateeAssign move number.goateeWhite move (nothing iff pass).goateeAssign black stones.goateeAssign empty stones.goateeAssign white stones.goateePlayer to play.goateeComment.goateeEven position.goateeGood for black.goateeGood for white.goateeHotspot.goatee Node name.goateeUnclear position.goatee Node value.goatee Bad move.goateeDoubtful move.goateeInteresting move.goateeTesuji.goateeArrows.goateeMark points with circles.goatee Dim points.goateeLabel points with text.goateeLines.goateeMark points with Xs.goateeMark points as selected.goateeMark points with squares.goateeMark points with trianges.goateeApplication info.goatee Charset for SimpleText and Text.goateeFile format version.goateeGame (must be 1 = Go).goateeVariation display format.goateeBoard size, columns then rows.goateeName of annotator.goateeRank of black player.goateeName of black team.goateeCopyright info.goatee Dates played.goatee Event name.goatee(Game comment, or background, or summary.goatee Game name.goateeInformation about the opening.goateeThe method used for overtime.goateeName of black player.goateeWhere the game was played.goateeName of white player.goateeResult of the game.goatee Round info.goatee Ruleset used.goateeSource of the game.goateeTime limit, in seconds.goatee-Name of user or program who entered the game.goateeRank of white player.goateeName of white team.goateeBlack time left.goatee$Black moves left in byo-yomi period.goatee$White moves left in byo-yomi period.goateeWhite time left.goateeSet viewing region.goateeHandicap stones (>=2).goateeKomi.goateeBlack territory.goateeWhite territory.goateeInternal to this module, do not use outside. Template Haskell function to declare a property that does not contain a value. '$(defProperty "KO" 'MoveProperty False)This example declares a propertyKO ::  that is a  and is not inherited.goateeInternal to this module, do not use outside. Template Haskell function to declare a property that contains a value. ?$(defValuedProperty "B" 'MoveProperty False 'maybeCoordPrinter)This example declares a  propertyB ::  (Maybe [) that is a  and is not inherited. The value type is automatically inferred.goatee%The SGF textual name of the property.goateeThe name of the .goatee"Whether the property is inherited.None >?U7 goatee$A list of descriptors for all known s.goatee Builds a / for an unknown property with the given name. 1Does not check that the name is actually unknown.goateeReturns a descriptor for any  , known or unknown. Because a  has a  instance, this function is not normally necessary for use outside of this module, but it can be used to throw away a value associated with a  and retain only the metadata.goateeReturns a descriptor for the given property name. The name does not have to be for a known property; an unknown property will use .goateeReturns a descriptor for a known property with the given name, or 2 if the name does not belong to a known property.goateeDescriptors for setup properties that assign stones to the board. For use with  and .goateeConverts a descriptor in " to the type of stone it assigns.goatee8Converts a type of stone assignment to a descriptor in .goatee"Returns the descriptor for a mark.None >?U Safe-Inferred >?XNone >?`MgoateeA wrapper around  with an  instance that considers two nodes equal iff they contain the same properties (not necessarily in the same order), and if they contain children (in the same order) whose nodes are recursively equal.This instance is not on  directly because it is not the only obvious sense of equality (only comparing properties would be another one), and it's also potentially expensive.goateeAn SGF game tree node. Unlike in the SGF spec, we represent a game tree with nodes uniformly, rather than having the separation between sequences and nodes.goateeSee .goatee An SGF collection of game trees.goatee*A node with no properties and no children.goateeReturns a fresh root  with 9 set to Goatee and optionally with a board size set via .goatee;Searches for a matching property in a node's property list.goatee4Searches for a matching property in a property list.goatee?asgoateeRenders an SGF  to a string.goateeRecursively renders an SGF GameTree (as defined in the spec) rooted at the given node. None >?ngoateeA pointer to a node in a game tree that also holds information about the current state of the game at that node.goateeThe index of this cursor's node in its parent's child list. When the cursor's node has no parent, the value in this field is not specified.goatee.The complete board state for the current node.goateeUsed by  to represent the state of a single point on the board. Records whether a stone is present, as well as annotations and visibility properties.goatee#Whether this point is a star point.goateeAn object that corresponds to a node in some game tree, and represents the state of the game at that node, including board position, player turn and captures, and also board annotations.goateeThe state of individual points on the board. Stored in row-major order. Point (x, y) can be accessed via  !! y !! x (but prefer ).goateeWhether any of the board's s are invisible. This is an optimization to make it more efficient to set the board to "all visible."goateeWhether any of the board's s are dimmed. This is an optimization to make it more efficient to clear all dimming from the board.goateeWhether any of the board's  s have a 6 set on them. This is an optimization to make it more efficient to clear marks in the common case where there are no marks set.goatee1Properties that are specified in game info nodes.goatee>Properties that are specified in the root nodes of game trees.goatee Builds a  with the given  and no extra data.goatee9Returns whether a node contains any game info properties.goatee Converts a  into a list of 's that can be used to reconstruct the .goatee*Returns the width of the board, in stones.goatee+Returns the height of the board, in stones.goatee Creates a 2 for an empty board of the given width and height.goateeA ! for an empty point on the board.goatee Returns the  for a coordinate on a board.goatee Modifies a  by updating the  at a single point.goateeMaps a function over each  in a , returning a list-of-lists with the function's values. The function is called like fn y x coordState.goateeReturns whether it is legal to place a stone of the given color at a point on a board. Accepts out-of-bound coordinates and returns false.goateeReturns whether it is legal for the current player to place a stone at a point on a board. Accepts out-of-bound coordinates and returns false.goateeThe cursor for the node above this cursor's node in the game tree. The node of the parent cursor is the parent of the cursor's node.This is Nothing% iff the cursor's node has no parent.goatee=The game tree node about which the cursor stores information.goatee!Returns a cursor for a root node.goateeThis is simply  . .goateeReturns the variations to display for a cursor. The returned list contains the location and color of  and  properties in variation nodes. Variation nodes are either children of the current node, or siblings of the current node, depending on the variation mode source. None >?qgoateeParses a string in SGF format. Returns an error string if parsing fails.goateeParses a file in SGF format. Returns an error string if parsing fails.goateeParses a node as part of an existing game tree, from textual SGF "GameTree" syntax. The  is needed to supply necessary information from the existing game tree. None >?goateeA handler for s. It is called with the old variation mode then the new variation mode.goateeA handler for s. It is called with the old property list then the new property list.goateeA handler for s.A navigation handler may navigate further, but beware infinite recursion. A navigation handler must end on the same node on which it started.goateeA handler for s. It is called with the old game info then the new game info.goateeA handler for s. It is called with a cursor at the child that was deleted (this cursor is now out of date).goateeA handler for s. Called with the index of the child added to the current node.goateeAn existential type for any event in a particular Go monad. Like , the , , and " instances use events' names, via .goateeA type of event in a Go monad that can be handled by executing an action. go is the type of the Go monad. h is the handler type, a function that takes some arguments relating to the event and returns an action in the Go monad. The arguments to the handler are usually things that would be difficult to recover from the state of the monad alone, for example the  associated with a .The , , and " instances use events' names, via .goateeThe standard monad for .goatee#The standard monad transformer for .goateeErrors from calling .goateeThe node couldn't be deleted, because an invalid index was given.goatee>The node couldn't be deleted, because it is on the path stack.goatee Errors from .goatee+The function illegally attempted to modify  properties within the . The old and attempted new records are returned, respectfully. No changes were committed to the game info.goatee Errors from .goateeThe function attempted to change the property into another property; this is not allowed. No change was made. The two strings are renderings of the old and new property, respectively.goatee Errors from .goateeRegisters a new event handler for a given event type. Unlike , whose handler may receive arguments, the handler given here doesn't receive any arguments.goatee4A single step along a game tree. Either up or down.goatee7Represents a step up from a child with the given index.goatee9Represents a step down to the child with the given index.goateeLike  , but throws  if at the root of the tree.goateeLike  , but throws ( if the requested child does not exist.goateeLike  , but throws ) if there is no left sibling to move to.goateeLike  , but throws * if there is no right sibling to move to.goateeSame as /, but throws errors rather than returning them.goateeSame as /, but throws errors rather than returning them.goateeSame as /, but throws errors rather than returning them.goateeSame as /, but throws errors rather than returning them.goateeSame as /, but throws errors rather than returning them.goateeExecutes a Go monad transformer on a cursor, returning in the underlying monad a tuple that contains the resulting value and the final cursor.goateeExecutes a Go monad transformer on a cursor, returning in the underlying monad the value in the transformer.goateeExecutes a Go monad transformer on a cursor, returning in the underlying monad the final cursor.goatee"Runs a Go monad on a cursor. See .goatee?Runs a Go monad on a cursor and returns the value in the monad.goatee9Runs a Go monad on a cursor and returns the final cursor.goateeFires all of the handlers for the given event, using the given function to create a Go action from each of the handlers (normally themselves functions that create Go actions, if they're not just Go actions directly, depending on the event).goateeAn event corresponding to a child node being added to the current node.goateeAn event corresponding to the deletion of one of the current node's children.goateeAn event that is fired when the current game info changes, either by navigating past a node with game info properties, or by modifying the current game info properties.goateeAn event that is fired when a single step up or down in a game tree is made.goateeAn event corresponding to a modification to the properties list of the current node.goatee1An event corresponding to a change in the active D'. This can happen when modifying the  property, and also when navigating between collections (as they have different root nodes).goateeWhen no node with game info is found, then if false, return to the original node, otherwise finish at the root node. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                              #goatee-0.4.0-8bHLGSVttveByYt8x2HNsyGame.Goatee.AppGame.Goatee.CommonGame.Goatee.Common.BigfloatGame.Goatee.Lib.RendererGame.Goatee.Lib.TypesGame.Goatee.Lib.Property.ParserGame.Goatee.Lib.PropertyGame.Goatee.Lib.TreeGame.Goatee.Lib.Renderer.TreeGame.Goatee.Lib.BoardGame.Goatee.Lib.ParserGame.Goatee.Lib.MonadData.Mapmap Data.Listsort!Game.Goatee.Lib.Property.RendererGame.Goatee.Lib.Property.ValueGame.Goatee.Lib.Property.BaseGame.Goatee.Lib.Property.Info Paths_goateeapplicationNameapplicationCopyrightapplicationWebsiteapplicationAuthors listDeleteAt listInsertAt listReplace listUpdate andEithersformapTuple mapInvert whenMaybecondif'andM forIndexM_whileMwhileM'whileM''doWhileMBigfloat significandexponentencode fromDoubletoDouble$fReadBigfloat$fShowBigfloat $fNumBigfloat $fOrdBigfloat $fEqBigfloatRender runRender rendererOf RulesetType RulesetAga RulesetIngRulesetJapaneseRulesetNewZealandRuleset KnownRulesetUnknownRuleset WinReason WinByScoreWinByResignation WinByTime WinByForfeit GameResult GameResultWinGameResultDrawGameResultVoidGameResultUnknownGameResultOtherMark MarkCircle MarkSquare MarkTriangleMarkX MarkSelected LabelListLineLineList ArrowListVariationModeSourceShowChildVariationsShowCurrentVariations VariationModevariationModeSourcevariationModeBoardMarkupColorBlackWhite DoubleValueDouble1Double2 RealValueUnknownPropertyValuefromUnknownPropertyValue SimpleTextfromSimpleTextTextfromText Stringlike sgfToString stringToSgf CoordListcoordListSinglescoordListRectsCoordsupportedFormatVersionsdefaultFormatVersionsupportedGameTypesboardSizeDefault boardSizeMin boardSizeMaxcoord1coordscoords'emptyCoordListexpandCoordListbuildCoordList starLines isStarPointhandicapStonesconvertStringliketoText toSimpleTexttoUnknownPropertyValuecnotdefaultVariationModetoVariationModefromVariationMode lineToPair fromRuleset toRuleset $fEqCoordList$fStringlike[]$fStringlikeText$fStringlikeSimpleText $fStringlikeUnknownPropertyValue$fEqLine$fStringlikeGameResult$fStringlikeRuleset $fEqRuleset $fShowRuleset$fBoundedRulesetType$fEnumRulesetType$fEqRulesetType$fOrdRulesetType$fShowRulesetType$fEqGameResult$fShowGameResult $fEqWinReason$fShowWinReason $fBoundedMark $fEnumMark$fEqMark $fOrdMark $fShowMark $fShowLine$fEqVariationMode$fShowVariationMode$fBoundedVariationModeSource$fEnumVariationModeSource$fEqVariationModeSource$fOrdVariationModeSource$fShowVariationModeSource$fBoundedColor $fEnumColor $fEqColor $fOrdColor $fShowColor$fBoundedDoubleValue$fEnumDoubleValue$fEqDoubleValue$fOrdDoubleValue$fShowDoubleValue$fEqUnknownPropertyValue$fShowUnknownPropertyValue$fEqSimpleText$fShowSimpleText$fEqText $fShowText$fShowCoordListcomposeline colorParsercoordElistParsercoordListParsercoordPairListParser doubleParsergameResultParserlabelListParserlineListParser moveParser noneParserintegralParser realParser rulesetParsersimpleTextPairParsersimpleTextParser simpleText sizeParser textParsertextunknownPropertyParservariationModeParser$fMonoidCoordListMonoid$fSemigroupCoordListMonoidValuedPropertyInfo PropertyInfoAnyCoordListDescriptorAnyValuedDescriptor AnyDescriptorValuedDescriptor propertyValuepropertyBuilder Descriptor propertyName propertyTypepropertyInheritedpropertyPredicatepropertyValueParserpropertyValueRendererpropertyValueRendererPretty PropertyType MoveProperty SetupProperty RootPropertyGameInfoPropertyGeneralPropertyPropertyBKOMNWABAEAWPLCDMGBGWHONUCVBMDOITTEARCRDDLBLNMASLSQTRAPCAFFGMSTSZANBRBTCPDTEVGCGNONOTPBPCPWRERORUSOTMUSWRWTBLOBOWWLVWHAKMTBTWUnknownProperty defPropertydefValuedProperty propertyB propertyKO propertyMN propertyW propertyAB propertyAE propertyAW propertyPL propertyC propertyDM propertyGB propertyGW propertyHO propertyN propertyUC propertyV propertyBM propertyDO propertyIT propertyTE propertyAR propertyCR propertyDD propertyLB propertyLN propertyMA propertySL propertySQ propertyTR propertyAP propertyCA propertyFF propertyGM propertyST propertySZ propertyAN propertyBR propertyBT propertyCP propertyDT propertyEV propertyGC propertyGN propertyON propertyOT propertyPB propertyPC propertyPW propertyRE propertyRO propertyRU propertySO propertyTM propertyUS propertyWR propertyWT propertyBL propertyOB propertyOW propertyWL propertyVW propertyHA propertyKM propertyTB propertyTWallKnownDescriptorspropertyUnknown propertyInfodescriptorForNamedescriptorForName'stoneAssignmentPropertiesstoneAssignmentPropertyToStonestoneToStoneAssignmentProperty markPropertyNodeWithDeepEqualitynodeWithDeepEqualityNodenodeProperties nodeChildrenCollectionWithDeepEqualitycollectionWithDeepEquality CollectioncollectionTrees emptyNoderootNode findProperty findProperty'findPropertyValuefindPropertyValue' addPropertyaddChild addChildAt deleteChildAt validateNode$fEqNodeWithDeepEquality$fEqCollectionWithDeepEquality $fShowCollectionWithDeepEquality$fShowCollection $fShowNoderenderCollectionrenderGameTreerenderPropertyCursorcursorChildIndex cursorBoard CoordState coordStar coordStone coordMark coordVisible coordDimmed BoardStateboardCoordStatesboardHasInvisibleboardHasDimmedboardHasCoordMarks boardArrows boardLines boardLabelsboardMoveNumberboardPlayerTurnboardBlackCapturesboardWhiteCaptures boardGameInfoGameInfogameInfoRootInfogameInfoBlackNamegameInfoBlackTeamNamegameInfoBlackRankgameInfoWhiteNamegameInfoWhiteTeamNamegameInfoWhiteRankgameInfoRulesetgameInfoBasicTimeSecondsgameInfoOvertimegameInfoResultgameInfoGameNamegameInfoGameCommentgameInfoOpeningComment gameInfoEvent gameInfoRound gameInfoPlacegameInfoDatesPlayedgameInfoSourcegameInfoCopyrightgameInfoAnnotatorNamegameInfoEntererNameRootInfo rootInfoWidthrootInfoHeightrootInfoVariationMode emptyGameInfointernalIsGameInfoNodegameInfoToProperties boardWidth boardHeightemptyBoardStaterootBoardStateemptyCoordStateboardCoordStateboardCoordModifymapBoardCoords isValidMoveisCurrentValidMove cursorParent cursorNode rootCursor cursorRoot cursorChildcursorChildrencursorChildCountcursorChildPlayingAtcursorPropertiescursorModifyNodecursorVariationsmoveToProperty$fShowCoordState$fShowBoardState $fShowCursor$fShowCursorNode$fShowApplyMoveGroup$fShowApplyMoveParams$fEqCoordState $fEqGameInfo$fShowGameInfo $fEqRootInfo$fShowRootInfo parseString parseFile parseSubtreepropertyParserVariationModeChangedHandlerPropertiesModifiedHandlerNavigationHandlerGameInfoChangedHandlerChildDeletedHandlerChildAddedHandlerAnyEventEvent eventNameeventHandlerFromActionGoMGoTNodeDeleteErrorNodeDeleteBadIndexNodeDeleteOnPathStackModifyGameInfoError"ModifyGameInfoCannotModifyRootInfoModifyPropertyErrorModifyPropertyCannotChangeTypeDropPositionErrorDropPositionStackEmptyPopPositionErrorPopPositionStackEmptyPopPositionCannotRetraceStepsNavigationErrorNavigationCouldNotMoveGoErrorGoNavigationErrorGoPopPositionErrorGoDropPositionErrorGoModifyPropertyErrorGoModifyGameInfoErrorGoNodeDeleteErrorMonadGo getCursor getCoordStategoUpgoDowngoLeftgoRightgoToRootgoToGameInfoNode pushPosition popPosition dropPosition getPropertiesmodifyProperties getPropertygetPropertyValue putPropertydeletePropertymodifyPropertymodifyPropertyValuemodifyPropertyStringmodifyPropertyListmodifyPropertyCoordsmodifyGameInfomodifyVariationModegetAssignedStonegetAllAssignedStonesmodifyAssignedStonesgetMark modifyMarkonon0StepGoUpGoDown goUpOrThrow goDownOrThrow goLeftOrThrowgoRightOrThrowpopPositionOrThrowdropPositionOrThrowmodifyPropertyOrThrowmodifyGameInfoOrThrowdeleteChildAtOrThrowrunGoTevalGoTexecGoTrunGoevalGoexecGofirechildAddedEventchildDeletedEventgameInfoChangedEventnavigationEventpropertiesModifiedEventvariationModeChangedEvent $fShowEvent $fOrdEvent $fEqEvent$fShowAnyEvent $fOrdAnyEvent $fEqAnyEvent $fMonadGoGoT$fMonadErroreGoT$fMonadWriterwGoT$fMonadStatesGoT $fMonadIOGoT$fMonadTransGoT$fMonadFailGoT $fMonadGoT$fApplicativeGoT $fFunctorGoT $fEqGoError $fShowGoError$fEqNodeDeleteError$fShowNodeDeleteError$fEqModifyGameInfoError$fShowModifyGameInfoError$fEqModifyPropertyError$fShowModifyPropertyError$fEqDropPositionError$fShowDropPositionError$fEqPopPositionError$fShowPopPositionError$fEqNavigationError$fShowNavigationError$fEqStep $fShowStepbase Data.EitherLeftRight GHC.MaybeMaybe Data.FoldableandforM_NothingJustghc-prim GHC.TypesIntGHC.ShowshowShowGHC.ReadReadDoubleGHC.BaseStringrenderColorBracketedrenderColorPrettyrenderCoordElistBracketedrenderCoordElistPrettyrenderCoordListBracketedrenderCoordListPrettyrenderCoordPairListBracketedrenderCoordPairListPrettyrenderDoubleBracketedrenderDoublePrettyrenderGameResultBracketedrenderGameResultPrettyrenderGameResultPretty'renderIntegralBracketedrenderIntegralPrettyrenderLabelListBracketedrenderLabelListPrettyrenderLineListBracketedrenderLineListPrettyrenderMoveBracketedrenderMovePrettyrenderNoneBracketedrenderNonePrettyrenderRealBracketedrenderRealPrettyrenderRulesetBracketedrenderRulesetPrettyrenderSimpleTextPairBracketedrenderSimpleTextPairPrettyrenderSimpleTextBracketedrenderSimpleTextPrettyrenderSizeBracketedrenderSizePrettyrenderTextBracketedrenderTextPrettyrenderUnknownPropertyBracketedrenderUnknownPropertyPrettyrenderVariationModeBracketedrenderVariationModePrettyPropertyValueTypepvtRendererPretty pvtParser pvtRenderercolorPvt coordElistPvt coordListPvtcoordPairListPvt doublePvt gameResultPvt integralPvt labelListPvt lineListPvtmovePvtnonePvtrealPvt rulesetPvtsimpleTextPairPvt simpleTextPvtsizePvttextPvtunknownPropertyPvtvariationModePvtversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName GHC.ClassesEqOrd