h$(      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Nonew  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` None #$%8;chessIOMove a nibble. Note that this function, while convenient, isn't very fast as it needs to lookup the source nibble value.chessIO bitwise XOR6 ;Basic data types and functions related to the game of chess(c) Mario Lang, 2020BSD3mlang@blind.guru experimentalNone %&8; @ fchessIO active colorhchessIOnumber of the full moveschessIO=The starting position as given by the FEN string "rnbqkbnrpppppppp8888 PPPPPPPP/RNBQKBNR w KQkq - 0 1".xchessIO3Construct a position from Forsyth-Edwards-Notation.ychessIO/Convert a position to Forsyth-Edwards-Notation.chessIOParse a move in the format used by the Universal Chess Interface protocol.chessIOConvert a move to the format used by the Universal Chess Interface protocol.chessIO6.&=5-% <4,$ ;3+# JIHGFEDCRQPONMLKSTUVWXYZ[\]^_`abcdegfhijklrqponmstuvwxyz{|}~ijkuB:2*" A91)! @80( ?7/'>6.&=5-% <4,$ ;3+# B:2*" A91)! @80( ?7/'>6.&=5-% <4,$ ;3+# WRQPONMLKRQPONMLKTSXJIHGFEDCJIHGFEDCVUYZ[`_]\^lrqponmrqponmabcesfhgtwvxyd|}~z{ NonepStandard Algebraic Notation(c) Mario Lang, 2021BSD3mlang@blind.guru experimentalNone &'(.>?Portable Game Notation(c) Mario Lang, 2021BSD3mlang@blind.guru experimentalNone #$&'(58;>$$None #$&58>xchessIOA Polyglot opening book.chessIO(Create a PolyglotBook from a ByteString.chessIO Pick a random ply from the book.chessIO:Probe the book for all plies known for the given position.chessIO4Predicted Variations. Return the most popular game. None #$'(8;chessIOEncyclopedia of Chess OpeningschessIOA Chess OpeningchessIO$Parse an ECO database in .pgn formatchessIO$Parse an ECO database in .eco formatchessIOConvert a PGN database to ECO assuming the ECO, Opening and Variation tags are being used to identify chess openings.chessIO2A parser for opening databases in SCID .eco formatchessIO.Retrieve the opening for a particular position Encyclopedia of Chess Openings(c) Mario Lang, 2021BSD3mlang@blind.guru experimentalNonexNoneUniversal Chess Interface(c) Mario Lang, 2021BSD3mlang@blind.guru experimentalNone #$%&?y chessIO8Set the starting position and plies of the current game.chessIOStart a UCI engine with the given executable name and command line arguments.chessIO=Start a UCI engine with the given timeout for initialisation.If the engine takes more then the given microseconds to answer to the initialisation request, : is returned and the external process will be terminated.chessIO5Wait until the engine is ready to take more commands.chessIO'Instruct the engine to begin searching.chessIOSwitch a ponder search to normal search when the pondered move was played.chessIOStop a search in progress.chessIO(Set a spin option to a particular value.Bounds are validated. Make sure you don't set a value which is out of range.chessIO7Return the final position of the currently active game.chessIOAdd a Move to the game history.This function checks if the move is actually legal, and throws a  if it isn't.chessIOQuit the engine.  Safe-Inferred !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn o p q r s t u v w x y z { | } ~                                                                                                      r  s   z                                                                                                                 &chessIO-0.9.3.0-FpprdypRPYXGUfNmslPRGM Game.ChessGame.Chess.PolyglotGame.Chess.SANGame.Chess.PGNGame.Chess.ECOGame.Chess.TreeGame.Chess.UCIGame.Chess.Internal.Square Game.Chess.Internal.QuadBitboardGame.Chess.InternalGame.Chess.Polyglot.HashGame.Chess.Internal.ECO Paths_chessIOSquareFileRankH8G8F8E8D8C8B8A8H7G7F7E7D7C7B7A7H6G6F6E6D6C6B6A6H5G5F5E5D5C5B5A5H4G4F4E4D4C4B4A4H3G3F3E3D3C3B3A3H2G2F2E2D2C2B2A2H1G1F1E1D1C1B1A1FileHFileGFileFFileEFileDFileCFileBFileARank8Rank7Rank6Rank5Rank4Rank3Rank2Rank1unRankmkRankunFilemkFilerankfilerankFilemapRankmapFilefileCharrankChartoCoordisDarkisLightCastleKingside QueensidePlyPositioncolor halfMoveClock moveNumberColorBlackWhite PieceTypeKingQueenRookBishopKnightPawnstartpospieceAtopponent repetitionsinsufficientMaterialfromFENtoFENmove promoteTo plySource plyTarget plyPromotionfromUCItoUCIdoPly unsafeDoPly legalPlies legalPlies'inCheckcastlingRightsenPassantSquarecanCastleKingsidecanCastleQueenside hashPositionSANToken strictSAN relaxedSANfromSANtoSANvarToSAN unsafeToSAN$fSANTokenWord8$fSANTokenChar $fEqSANStatus$fReadSANStatus$fShowSANStatus$fEqFrom $fShowFrom AnnotatedAnn _annPrefixNAG_annPly _annSuffixNAG$fApplicativeAnnotated $fEqAnnotated$fFunctorAnnotated$fGenericAnnotated$fLiftLiftedRepAnnotated$fShowAnnotatedOutcomeWinDraw UndecidedannPly annPrefixNAG annSuffixNAG$fHashableAnnotated$fHashableOutcome $fEqOutcome$fGenericOutcome$fLiftLiftedRepOutcome $fShowOutcomeGameCG_cgTags _cgForest _cgOutcome_Win_Draw _Undecided$fHashableGame$fEqGame $fGenericGame $fShowGamePGNcgForest cgOutcomecgTags$fEqPGN $fMonoidPGN$fSemigroupPGNRAVOrdergameFromForest pgnForest readPGNFilehPutPGNpgn breadthFirst depthFirstpgnDocgameDocweightedForest$fPrettyOutcome $fOrdOutcome $fWrappedPGN$fRewrappedPGNt BookEntryBE_beKey_bePly _beWeight_beLearn$fHashableBookEntry $fEqBookEntry$fFunctorBookEntry$fGenericBookEntry$fShowBookEntry PolyglotBookbeKeybeLearnbePlybeWeight defaultBooktwicfromByteString toByteStringreadPolyglotFilewritePolyglotFiletoPGNmakeBook bookForestbookPly bookPlies variations findPosition$fStorableBookEntry$fOrdBookEntry$fMonoidPolyglotBook$fSemigroupPolyglotBook$fEqPolyglotBook$fHashablePolyglotBookECOOpeningCOcoCodecoName coVariationcoPliesecoPgnscidEcoembedECOtoListfromListfromPGNscidreadECOPGNFilereadSCIDECOFilelookup defaultECO positionTreepositionForest plyForestplyTree SearchParamOptionCheckBoxComboBox SpinButtonOStringButton comboBoxValuecomboBoxValuesspinButtonValuespinButtonMinBoundspinButtonMaxBoundBounds UpperBound LowerBoundScore CentiPawnsMateInInfoPVDepthSelDepthElapsedMultiPVNodesNPSTBHitsHashFullCurrMoveCurrMoveNumberString UCIException IllegalMoveEnginenameauthoroptionsBestMove setPositionstartstart'isready searchmovespondertimeleft timeincrement movestogomovetimenodesdepthinfinite searchingsearch ponderhitstop getOptionsetOptionSpinButtonsetOptionStringcurrentPositionaddPly replacePlyquitquit'$fExceptionUCIException$fIsStringOption$fEqSearchParam$fShowSearchParam $fShowCommand $fEqOption $fShowOption$fEqInfo $fShowInfo $fEqBounds $fShowBounds $fEqScore $fOrdScore $fShowScore$fShowUCIExceptionSqunSquaremkSq$fSemigroupQuadBitboardWord4W4 QuadBitboardblack BlackKing BlackQueen BlackRook BlackBishop BlackKnight BlackPawn WhiteKing WhiteQueen WhiteRook WhiteBishop WhiteKnight WhitePawnNoPieceoccupiedwhitepawnsknightsbishopsrooksqueenskingswPawnswKnightswBishopswRookswQueenswKingsbPawnsbKnightsbBishopsbRooksbQueensbKingsemptystandard! setNibbletoStringmove'whiteKingsideCastlewhiteQueensideCastleblackKingsideCastleblackQueensideCastle enPassantwhitePromotionblackPromotionwhitePromotion'blackPromotion' relativeToghc-prim GHC.TypesTrue&vector-0.12.3.1-BS9vrRx3ry325IASWLF2UHData.Vector.Unboxed.BaseVectorV_PlyMVectorMV_PlyunPlyflagsqbbBitboardep testSquare capturing isCapture isPawnPush occupiedBybitScanForwardbitScanReverseunpackshiftNshiftNNshiftNNEshiftNEshiftENEshiftEshiftESEshiftSEshiftSSEshiftSshiftSSshiftSSWshiftSWshiftWSWshiftWshiftWNWshiftNWshiftNNW unsafeDoPly'forBits piecePliescanWhiteCastleKingsidecanBlackCastleKingsidecanWhiteCastleQueensidecanBlackCastleQueensidewKscmwQscmbKscmbQscm attackedByattackedByPawnnotAFile notABFile notGHFilenotHFilerank1rank2rank3rank4rank5rank6rank7rank8epMaskcrwKscrwQscrwKecrwQecrbKscrbQscrbKecrbQe kingAttacks knightAttacks wPawnAttacks bPawnAttacks rookTargets bishopTargets queenTargets rayTargetsrayNWrayNrayNErayEraySEraySraySWrayW attackDirattackNWattackNattackNEattackEattackSEattackSattackSWattackW clearMasktestMaskParser toHashMap FileReaderfromPGN'openingcodevarpliesscid' spaceConsumerlexeme periodChar quoteChar backslashCharbase GHC.MaybeNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName