!~v9      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012345678None "#47HSVX{  Noneg9  None"#47HV' !"#$%&'()*+,-./0123456789:;<=>?@ABCD'-./012345'()*+,6789$%&"#:;< !=>?@ABCDNone"#47HV$`cursor?Swaps the current node with the previous node on the same levelExample:Before: p |- a |- b <--After: p |- b <-- |- aacursor;Swaps the current node with the next node on the same levelExample:Before: p |- a <-- |- bAfter: p |- b |- a <--\]^_`a`a\]^_None"#47HV%_ghijklghijklNone%mnopqmnopqNone "#47HVX&s rstuvwxyz rstuvwxyzNone"#47HV.cursor5Promotes the current node to the level of its parent.Example:Before: Q p |- a | |- b | | |- c | |- d <-- | | |- e | |- f | |- g |- hAfter: N p |- a | |- b | | |- c | | |- e | |- f | |- g |- d <-- |- hcursor5Promotes the current node to the level of its parent.Example:Before: Q p |- a | |- b | | |- c | |- d <-- | | |- e | |- f | |- g |- hAfter: K p |- a | |- b | | |- c | |- f | |- g |- d <-- | |- e |- h {|}~ {|}~ None"#47HV3cursorPGo back and down as far as necessary to find a previous element on a level belowcursorMGo up as far as necessary to find a next element on a level above and forwardaNote: This will fail if there is a next node on the same level or any node below the current node$%&$%& None"#47HV4 None"#47HVAcursor6Demotes the current node to the level of its children.Example:Before: * p |- a | |- b |- c <-- | |- d |- eAfter: - p |- a | |- b | |- c <-- | |- d |- ecursor9Demotes the current subtree to the level of its children.Example:Before: * p |- a | |- b |- c <-- | |- d |- eAfter: 0 p |- a | |- b | |- c <-- | |- d |- ecursorDemotes the current node to the level of its children, by adding two roots. One for the current node and one for its children that are left behind.Example:Before:  p |- a <-- |- bAfter: D p |- <given element 1> | |- a <-- |- <given element 2> | |- bcursorKDemotes the current subtree to the level of its children, by adding a root.Example:Before:  a <-- |- bAfter: # <given element> |- a <-- |- b None7SXBu None"#47HVC; NoneCu !"#$%&'()*+,-./0123456789:;<=>?@ABCD\]^_`aghijklmnopqrstuvwxyz{|}~ -./01'()*+,None"#47HVJwcursorPGo back and down as far as necessary to find a previous element on a level belowcursorMGo up as far as necessary to find a next element on a level above and forwardaNote: This will fail if there is a next node on the same level or any node below the current node]"#$%&'()*+,2346789:;<\]^_`aghmnopq{|}~]'()*+,g2346789h$%&mnopq`a\]^_{|}~"#:;<None"#47HVNWcursorA 'nonempty list' cursor$     $     None"#47HVPo!cursorA 'nonempty list' cursor   !"#$%&'()*+,-./01234!"#$%&'()*  +, -./01234None "#47HSVXQ2 56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV"56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNone "#47HSVXS- 7:;>?GIJ[\]^_`abcdefghijklmnopq[7\]:;^_>?`abcdefGgIJhijklmnopqNone"#47HVUtcursorIn reverse orderrstuvwxyz{|}~rstuvwxyz{|}~None"#7HVWcursorA cursor for single-line textsNone"#7HVZOcursorreturns 9 when given unsafe characters.cursorreturns 9 when given unsafe characters.None"#47HVq1cursor?Swaps the current node with the previous node on the same levelExample:Before:  - a - b <--After:  - b <-- - acursor;Swaps the current node with the next node on the same levelExample:Before:  - a <-- - bAfter:  - b - a <--cursor5Promotes the current node to the level of its parent.Example:Before: >- a |- b | |- c |- d <-- | |- e |- f |- g - hAfter: ;- a |- b | |- c | |- e |- f |- g - d <-- - hcursor5Promotes the current node to the level of its parent.Example:Before: F - a |- b | |- c |- d <-- | |- e |- f |- g - hAfter: 9 - a |- b | |- c |- f |- g - d <-- |- e - h cursor6Demotes the current node to the level of its children.Example:Before: - a |- b - c <-- |- d - eAfter:  - a |- b |- c <-- |- d - e cursor9Demotes the current subtree to the level of its children.Example:Before:  - a |- b - c <-- |- dAfter: # - a |- b |- c <-- |- d cursorDemotes the current node to the level of its children, by adding two roots. One for the current node and one for its children that are left behind.Example:Before:  - a <-- |- bAfter: = - <given element 1> |- a <-- - <given element 2> |- b cursorKDemotes the current subtree to the level of its children, by adding a root.Example:Before:  a <-- |- bAfter: # <given element> |- a <-- |- bO !"#:;<=>?     O    "#:;< !=>? None"#47HVtK !"#:;<=>?   !"#$%&'()*+,-./012345678K !"#$%&'()*+,-./012345678  "#:;< !=>?Safev:;<=>?@AB !"#$%&'()*+,-./01"$%&'23456789:;;<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        @       !"#$%&'()*+,-./01 "#$%&'()*+223456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZ[\]^_`abcdefghijjklmnopqrstuvwxyz{|}~#cursor-0.2.0.0-oScMrSLnpaJnDZaMGInuCursor.Map.KeyValueCursor.Simple.Map.KeyValueCursor.Tree.TypesCursor.Tree.SwapCursor.Tree.DrawCursor.Tree.CollapseCursor.Tree.BaseCursor.Tree.PromoteCursor.Tree.MovementCursor.Tree.InsertCursor.Tree.Demote Cursor.TypesCursor.Tree.DeleteCursor.Simple.TreeCursor.List.NonEmptyCursor.Simple.List.NonEmpty Cursor.MapCursor.Simple.Map Cursor.List Cursor.TextCursor.TextField Cursor.ForestCursor.Simple.Forest Cursor.Tree Paths_cursorKeyValueToggle KeySelected ValueSelectedKeyValueCursorKeyValueCursorKeyKeyValueCursorValuemakeKeyValueCursorKeymakeKeyValueCursorValuerebuildKeyValueCursorkeyValueCursorSelectionmapKeyValueCursorkeyValueCursorSelectKeykeyValueCursorSelectValuekeyValueCursorToggleSelectedtraverseKeyValueCursorfoldKeyValueCursor$fValidityKeyValueCursor$fValidityKeyValueToggle$fShowKeyValueCursor$fEqKeyValueCursor$fGenericKeyValueCursor$fShowKeyValueToggle$fEqKeyValueToggle$fGenericKeyValueToggleCForest EmptyCForest ClosedForest OpenForestCTreeCNodeTreeCursorSelection SelectNode SelectChild TreeAbovetreeAboveLeftstreeAboveAbove treeAboveNodetreeAboveRights TreeCursor treeAbove treeCurrent treeBelowtreeCursorAboveLtreeCursorCurrentLtreeCursorBelowLtreeCursorCurrentSubTreeLtreeAboveLeftsLtreeAboveAboveLtreeAboveNodeLtreeAboveRightsL makeCTreecTree rebuildCTree makeCForestcForestrebuildCForest emptyCForest openForest closedForest lengthCForest unpackCForest$fValidityTreeCursorSelection$fValidityCForest$fValidityCTree$fValidityTreeAbove$fValidityTreeCursor$fShowTreeCursorSelection$fEqTreeCursorSelection$fGenericTreeCursorSelection $fShowCForest $fEqCForest$fGenericCForest$fFunctorCForest $fShowCTree $fEqCTree$fGenericCTree$fFunctorCTree$fShowTreeAbove $fEqTreeAbove$fGenericTreeAbove$fFunctorTreeAbove$fShowTreeCursor$fEqTreeCursor$fGenericTreeCursor SwapResultSwapperIsTopNodeNoSiblingsToSwapWithSwappedtreeCursorSwapPrevtreeCursorSwapNext$fValiditySwapResult$fShowSwapResult$fEqSwapResult$fGenericSwapResult$fFunctorSwapResultdrawTreeCursortreeCursorWithPointer showCForest showCTree showForestshowTreetreeCursorOpenCurrentForesttreeCursorCloseCurrentForesttreeCursorToggleCurrentForest&treeCursorOpenCurrentForestRecursively(treeCursorToggleCurrentForestRecursivelysingletonTreeCursormakeTreeCursormakeTreeCursorWithSelectionrebuildTreeCursor mapTreeCursor currentTreemakeTreeCursorWithAbovetraverseTreeCursorfoldTreeCursor PromoteResultCannotPromoteTopNodeNoGrandparentToPromoteUnderPromotedPromoteElemResultCannotPromoteTopElemNoGrandparentToPromoteElemUnderNoSiblingsToAdoptChildren PromotedElemtreeCursorPromoteElemtreeCursorPromoteSubTree$fMonadPromoteElemResult$fApplicativePromoteElemResult$fValidityPromoteElemResult$fMonadPromoteResult$fApplicativePromoteResult$fValidityPromoteResult$fShowPromoteElemResult$fEqPromoteElemResult$fGenericPromoteElemResult$fFunctorPromoteElemResult$fShowPromoteResult$fEqPromoteResult$fGenericPromoteResult$fFunctorPromoteResulttreeCursorSelectiontreeCursorSelecttreeCursorSelectPrevtreeCursorSelectNexttreeCursorSelectFirsttreeCursorSelectLasttreeCursorSelectAbovetreeCursorSelectBelowAtPostreeCursorSelectBelowAtStarttreeCursorSelectBelowAtEnd'treeCursorSelectBelowAtStartRecursively%treeCursorSelectBelowAtEndRecursivelytreeCursorSelectPrevOnSameLeveltreeCursorSelectNextOnSameLeveltreeCursorSelectAbovePrevtreeCursorSelectAboveNexttreeCursorInserttreeCursorInsertAndSelecttreeCursorAppendtreeCursorAppendAndSelecttreeCursorAddChildAtPostreeCursorAddChildAtStarttreeCursorAddChildAtEnd DemoteResultCannotDemoteTopNodeNoSiblingsToDemoteUnderDemotedtreeCursorDemoteElemtreeCursorDemoteSubTreetreeCursorDemoteElemUndertreeCursorDemoteSubTreeUnder$fValidityDemoteResult$fShowDemoteResult$fEqDemoteResult$fGenericDemoteResult$fFunctorDemoteResultDeleteOrUpdateDeletedUpdated isSafeChar joinDeletes joinDeletes3joinPossibleDeletesfocusPossibleDeleteOrUpdate dullMDelete dullDelete$fAlternativeDeleteOrUpdate$fApplicativeDeleteOrUpdate$fFunctorDeleteOrUpdate$fValidityDeleteOrUpdate$fShowDeleteOrUpdate$fEqDeleteOrUpdate$fGenericDeleteOrUpdate(treeCursorDeleteSubTreeAndSelectPrevious$treeCursorDeleteSubTreeAndSelectNext%treeCursorDeleteSubTreeAndSelectAbovetreeCursorRemoveSubTreetreeCursorDeleteSubTree%treeCursorDeleteElemAndSelectPrevious!treeCursorDeleteElemAndSelectNext"treeCursorDeleteElemAndSelectAbovetreeCursorRemoveElemtreeCursorDeleteElemNonEmptyCursornonEmptyCursorPrevnonEmptyCursorCurrentnonEmptyCursorNextmakeNonEmptyCursormakeNonEmptyCursorWithSelectionsingletonNonEmptyCursorrebuildNonEmptyCursormapNonEmptyCursornonEmptyCursorElemLnonEmptyCursorSelectPrevnonEmptyCursorSelectNextnonEmptyCursorSelectFirstnonEmptyCursorSelectLastnonEmptyCursorSelectionnonEmptyCursorSelectIndexnonEmptyCursorInsertnonEmptyCursorAppendnonEmptyCursorInsertAndSelectnonEmptyCursorAppendAndSelectnonEmptyCursorInsertAtStartnonEmptyCursorAppendAtEnd$nonEmptyCursorInsertAtStartAndSelect"nonEmptyCursorAppendAtEndAndSelect%nonEmptyCursorRemoveElemAndSelectPrev%nonEmptyCursorDeleteElemAndSelectNextnonEmptyCursorRemoveElemnonEmptyCursorDeleteElemnonEmptyCursorSearchnonEmptyCursorSelectOrAddrenderNonEmptyCursornonemptyPrependnonemptyAppendtraverseNonEmptyCursorfoldNonEmptyCursor$fValidityNonEmptyCursor$fShowNonEmptyCursor$fEqNonEmptyCursor$fGenericNonEmptyCursor$fFunctorNonEmptyCursor MapCursor mapCursorList makeMapCursormakeMapCursorWithSelectionsingletonMapCursorKeysingletonMapCursorValuerebuildMapCursor mapMapCursormapCursorNonEmptyCursorLmapCursorElemLmapCursorSelectKeymapCursorSelectValuemapCursorToggleSelectedmapCursorSelectPrevmapCursorSelectNextmapCursorSelectFirstmapCursorSelectLastmapCursorSelectionmapCursorSelectIndexmapCursorInsertmapCursorAppendmapCursorInsertAndSelectKeymapCursorAppendAndSelectKeymapCursorInsertAndSelectValuemapCursorAppendAndSelectValue mapCursorRemoveElemAndSelectPrev mapCursorDeleteElemAndSelectNextmapCursorRemoveElemmapCursorDeleteElemmapCursorSearchmapCursorSelectOrAddtraverseMapCursor foldMapCursor$fValidityMapCursor$fShowMapCursor $fEqMapCursor$fGenericMapCursor ListCursorlistCursorPrevlistCursorNextemptyListCursormakeListCursormakeListCursorWithSelectionrebuildListCursorlistCursorNulllistCursorLengthlistCursorIndexlistCursorSelectPrevlistCursorSelectNextlistCursorSelectIndexlistCursorSelectStartlistCursorSelectEndlistCursorPrevItemlistCursorNextItemlistCursorInsertlistCursorAppendlistCursorRemovelistCursorDeletelistCursorSplitlistCursorCombinetraverseListCursorfoldListCursor$fValidityListCursor$fShowListCursor$fEqListCursor$fGenericListCursor$fFunctorListCursor TextCursortextCursorListemptyTextCursormakeTextCursormakeTextCursorWithSelectionrebuildTextCursortextCursorNulltextCursorLengthtextCursorIndextextCursorSelectPrevtextCursorSelectNexttextCursorSelectIndextextCursorSelectStarttextCursorSelectEndtextCursorPrevChartextCursorNextChartextCursorInserttextCursorAppendtextCursorRemovetextCursorDeletetextCursorSplittextCursorCombine$fValidityTextCursor$fShowTextCursor$fEqTextCursor$fGenericTextCursorTextFieldCursortextFieldCursorNonEmptymakeTextFieldCursor makeTextFieldCursorWithSelectionrebuildTextFieldCursorLinesrebuildTextFieldCursoremptyTextFieldCursornullTextFieldCursortextFieldCursorSelectiontextFieldCursorNonEmptyCursorLtextFieldCursorSelectedLtextFieldCursorSelectPrevLinetextFieldCursorSelectNextLinetextFieldCursorSelectFirstLinetextFieldCursorSelectLastLinetextFieldCursorSelectPrevChartextFieldCursorSelectNextChartextFieldCursorIndexOnLine textFieldCursorSelectIndexOnLinetextFieldCursorInsertChartextFieldCursorAppendChartextFieldCursorInsertNewlinetextFieldCursorAppendNewlinetextFieldCursorRemovetextFieldCursorDelete textFieldCursorSelectStartOfLinetextFieldCursorSelectEndOfLine$fValidityTextFieldCursor$fShowTextFieldCursor$fEqTextFieldCursor$fGenericTextFieldCursor ForestCursorforestCursorListCursormakeForestCursorrebuildForestCursordrawForestCursormapForestCursorforestCursorListCursorLforestCursorSelectedTreeL forestCursorSelectPrevTreeCursor forestCursorSelectNextTreeCursor!forestCursorSelectFirstTreeCursor forestCursorSelectLastTreeCursorforestCursorSelectNextforestCursorSelectPrev!forestCursorSelectNextOnSameLevel!forestCursorSelectPrevOnSameLevelforestCursorSelectFirstforestCursorSelectLastforestCursorSelectAboveforestCursorSelectBelowAtPosforestCursorSelectBelowAtStartforestCursorSelectBelowAtEndforestCursorSelectionforestCursorSelectIndexforestCursorOpenCurrentForestforestCursorCloseCurrentForestforestCursorToggleCurrentForest(forestCursorOpenCurrentForestRecursively*forestCursorToggleCurrentForestRecursivelyforestCursorInsertEntireTree%forestCursorInsertAndSelectTreeCursorforestCursorAppendEntireTree%forestCursorAppendAndSelectTreeCursorforestCursorInsertTreeforestCursorInsertAndSelectTreeforestCursorAppendTreeforestCursorAppendAndSelectTreeforestCursorInsertforestCursorInsertAndSelectforestCursorAppendforestCursorAppendAndSelect#forestCursorAddChildTreeToNodeAtPos%forestCursorAddChildTreeToNodeAtStart#forestCursorAddChildTreeToNodeAtEndforestCursorAddChildToNodeAtPos!forestCursorAddChildToNodeAtStartforestCursorAddChildToNodeAtEnd#forestCursorRemoveElemAndSelectPrev#forestCursorDeleteElemAndSelectNextforestCursorRemoveElemforestCursorDeleteElem&forestCursorRemoveSubTreeAndSelectPrev&forestCursorDeleteSubTreeAndSelectNextforestCursorRemoveSubTreeforestCursorDeleteSubTreeforestCursorAddRootforestCursorSwapPrevforestCursorSwapNextforestCursorPromoteElemforestCursorPromoteSubTreeforestCursorDemoteElemforestCursorDemoteSubTreeforestCursorDemoteElemUnderforestCursorDemoteSubTreeUndertraverseForestCursorfoldForestCursor$fValidityForestCursor$fShowForestCursor$fEqForestCursor$fGenericForestCursorbase GHC.MaybeNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName