rbɵ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  "Query, Result and related symbols. Toshio Ito <debug.ito@gmail.com>SafeQuery for package version(s).Source of packages. stackage.hackage (latest))Resolver name at stackage like "lts-4.1". description of a .      !types and functions about logging Toshio Ito <debug.ito@gmail.com>SafeIf , logging is disabled.$6FOR TEST: the IORef is the history of logged messages. !"#$% !"#$ !"#$  !"#$% &compatibility wrapper for http-client  Toshio Ito <debug.ito@gmail.com>None0$functions dealing with .cabal files. Toshio Ito <debug.ito@gmail.com>None. A block of build-depends:.2Build target type.3the library target.4the executable NAME target.5the test-suite NAME target.6the benchmark NAME target../012345674expected field name. If Nothing, it just don't care.%(lower-case field name, indent level)&(lower-case field name, block content) ./01234567 723456./01./01234567"Result data type and its utilities Toshio Ito <debug.ito@gmail.com>None>6Results for a query aggregated over different sources.FFor backward-compatibility.Ithe  queried by user.Jthe real (exact)  resolved.KResult for a query.Q Create an > that includes just one K.>?@ABCDEFGHIJKLMNOPQR>?@ABCDEFGHIJKLMNOPQKLMNOGHIJPFCDE>?@ABQ>?@ABCDEFGHIJKLMNOPQRparsing Version Toshio Ito <debug.ito@gmail.com>None^a wrapper around  for JSON I/Fa\Parse a version text. There must not be any trailing characters after a valid version text.^_`ab^_`aa^_`^_`ab9dealing with Stackage and build-plan repositories online. Toshio Ito <debug.ito@gmail.com>None g*Potentially partial resolver for stackage.i lts (latest)j lts-(major)knightly (latest)l3Non-ambiguous fully-resolved resolver for stackage.mlts-(major).(minor)nnightly-(year)-(month)-(day)r Fetch the f from the Internet.t-Fetch build plan YAML data from the Internet.fghijklmnopqrsdisambiguation JSON text.tufghijklmnopqrstlmnghijkopqfrts fghijklmnopqrstu1(virtual) BuildPlan expressing the latest Hackage Toshio Ito <debug.ito@gmail.com>NoneJSorted list of preferred versions of the package. The head is the latest.|}~|}~|~}|}~ Handle build plan YAML files. Toshio Ito <debug.ito@gmail.com>NoneILStateful manager for s.1path to the directory where build plans are hold.&low-level HTTP connection manager. If ., it won't fetch build plans over the network.cache of resolver disambigutor Types that have mapping between   and .A  associated with its .LA data structure that keeps a map between package names and their versions.Load a  from a file. 1path to the directory where build plans are hold.If ?, it queries the Internet for build plans. Otherwise, it won't.first action tried.0the action executed if the first action returns .7package names whose versions the user is interested in.<the second result is the real (disambiguated) PackageSource.disambiguated LTS major versiondisambiguated LTS minor version  aggregation of multiple versions Toshio Ito <debug.ito@gmail.com>NoneAggregateion monadAggregate some  s into a .Let Cabal convert  to Aggregator of ORed versions.Aggregate versions to the range that the versions cover in a PVP sense. This aggregator sets the upper bound to a major version, which means it assumes major-version bump is not backward-compatible.Aggregate versions to the range that versions cover in a PVP sense. This aggregator sets the upper bound to a minor version, which means it assumes minor-version bump is not backward-compatible. Aggregate Ks with the given . It first groups Ks based on its N3 field, and then each group is aggregated into an >.)If it fails, it returns an empty list of >. It also returns a list of  s to report warnings and errors.#Aggregate one or more maps between   and . The input  s should all be . ? version is warned and ignored. If the input versions are all , the result version range is .The  b lists in the input must be consistent (i.e. they all must be the same list.) If not, it returns  map and an error is logged.{The comparator that determines if the two elements are in the same group. This comparator must be transitive, like '(==)'.(label,  version map). label is used for error logs.  formatting Result output. Toshio Ito <debug.ito@gmail.com>Noneheader and child blocks&a block, which consists of some lines. lines and # lines are handled differently by /. It puts commas at the right places assuming  lines are commented out. Format for .Let Cabal format . Similar to %, but it uses the "caret" operator (^>=) where possible.          Safe   Command from the user. Toshio Ito <debug.ito@gmail.com>None Default values for .Command from the user.8path to the directory where build plan files are stored. the loggerpackage sources to searchpackage queriesif 4, it accesses the Internet to query build plans etc.if ", do aggregation over the results.config for the formatter! !"#$%&'()*+,-./01  !"#$%&'()*+,-./01  executable Toshio Ito <debug.ito@gmail.com>None 23456789 23456789: !"#$%%&'()*+,-./0123456789:;<=>>?@ABCDEFGHIJKLMMNOPQRSTUUVWXXYZ[\]^_`abcdefghijjklmnopqrstuvwxyz{|}~           #                            !"#$%& ' ( ) ) * + , ' - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A BC)staversion-0.2.1.0-4Lgiv8IvrHDBOssRvPtUjQStaversion.Internal.AggregateStaversion.Internal.QueryStaversion.Internal.LogStaversion.Internal.CabalStaversion.Internal.Result%Staversion.Internal.BuildPlan.Version&Staversion.Internal.BuildPlan.Stackage%Staversion.Internal.BuildPlan.HackageStaversion.Internal.BuildPlanStaversion.Internal.FormatStaversion.Internal.CommandStaversion.Internal.ExecStaversion.Internal.HTTPPaths_staversionCabal-1.24.2.0Distribution.Version VersionRangeErrorMsgQuery QueryNameQueryCabalFile PackageSourceSourceStackage SourceHackageResolver PackageName sourceDesc parseQuery$fShowPackageSource$fEqPackageSource$fOrdPackageSource $fShowQuery $fEqQuery $fOrdQueryLoggerloggerThresholdLogEntrylogLevel logMessageLogLevelLogDebugLogInfoLogWarnLogError defaultLoggerputLog putLogEntrylogDebuglogInfologWarnlogError _mockLogger $fShowLogger$fShowLogLevel $fEqLogLevel $fOrdLogLevel$fEnumLogLevel$fBoundedLogLevel$fShowLogEntry $fEqLogEntry $fOrdLogEntry BuildDepends depsTarget depsPackagesTarget TargetLibraryTargetExecutableTargetTestSuiteTargetBenchmark loadCabalFile $fShowTarget $fEqTarget $fOrdTarget$fShowBuildDepends$fEqBuildDepends$fOrdBuildDependsAggregatedResult aggResultIn aggResultFor aggResultBody ResultBody'SimpleResultBodyCabalResultBody ResultBody ResultSourceresultSourceQueriedresultSourceRealResultresultIn resultFor resultBodyresultSourceDescsingletonResult$fFunctorResultBody'$fShowResultSource$fEqResultSource$fOrdResultSource$fShowResultBody'$fEqResultBody'$fOrdResultBody' $fShowResult $fEqResult $fOrdResult$fShowAggregatedResult$fEqAggregatedResult VersionJSON unVersionJSONparseVersionText$fFromJSONVersionJSON$fShowVersionJSON$fEqVersionJSON$fOrdVersionJSON DisambiguatorPartialResolver PartialExactPartialLTSLatestPartialLTSMajorPartialNightlyLatest ExactResolverExactLTS ExactNightlyparseResolverStringformatResolverStringformatExactResolverStringfetchDisambiguatorparseDisambiguatorfetchBuildPlanYAML$fFromJSONDisamMap$fShowExactResolver$fEqExactResolver$fOrdExactResolver$fShowPartialResolver$fEqPartialResolver$fOrdPartialResolverRegisteredVersionsparsePreferredVersionsJSON latestVersionfetchPreferredVersions$fFromJSONRegisteredVersions$fShowRegisteredVersions$fEqRegisteredVersions$fOrdRegisteredVersionsBuildPlanManager HasVersionspackageVersion BuildPlanbuildPlanSource BuildPlanMapnewBuildPlanManager loadBuildPlanloadBuildPlanMapYAML_setLTSDisambiguator$fHasVersionsBuildPlan$fHasVersionsBuildPlanMap$fFromJSONBuildPlanMap$fMonoidBuildPlanMap AggregatorshowVersionRangegroupAllPreservingOrderByaggOr aggPvpMajor aggPvpMinoraggregateResultsaggregatePackageVersions FormatConfigfconfFormatVersion FormatVersionformatVersionCabalformatVersionCabalCaretformatAggregatedResultsCommandcommBuildPlanDir commLogger commSources commQueriescommAllowNetworkcommAggregatorcommFormatConfigdefFormatConfigparseCommandArgs$fShowDefCommand$fEqDefCommand$fOrdDefCommandmainprocessCommand)_processCommandWithCustomBuildPlanManager$fShowResolvedQuery$fEqResolvedQuery$fOrdResolvedQuerybaseGHC.BaseNothingloggerPutLogRawtoLabelOurHttpExceptionParseUrlExceptionStatusFailureExceptionOtherHttpExceptionniceHTTPManager makeRequestfetchURL$fExceptionOurHttpException*http-client-0.5.7.0-DXA0IEg6NkS4iccVjaYe76Network.HTTP.Client.TypesManager isLineSpace isOpenBrace isCloseBraceisBracelengthOfindent finishLine emptyLine blockHeadLine fieldStart fieldBlockbuildDependsLineconditionalLine targetBlock cabalParser Data.VersionVersionDisamMap unDisamMapregPreferredVersionsmanBuildPlanDirmanHttpManagermanDisambiguatorLoadM manLogger buildPlanMapghc-prim GHC.TypesTrue loggedElse Data.EitherLeft maybeToLoadM httpManagerMhttpExceptionToLoadMloadBuildPlan_stackageLocalFiletryDisambiguateloadBuildPlan_stackageNetworkparseBuildPlanMapYAMLregisteredVersionToBuildPlanMap_setDisambiguatorAggMStringMaybeJust aggPvpGeneralnormalizeTralingZeroesaggregateInSameQuerynubAggregatedSourcespartitionResultscheckConsistentBodiesisSameBodyGroup pmapInBodyaggregateGroupedBodies toNonEmptyaggregatePackageVersionsMrunAggMwarn bailWithErrorconsistentPackageListcollectJustVersionsRBHeadRBLines ResultLineRightformatResultBlock ResultBlockformatVersionIntervalCaret isCaretOKmakeSourceBlocks sourceHeadermakeQueryBlocks versionLinepackageErrorLinecabalFileErrorBlockcabalFileSuccessBlockcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName DefCommandAggregatorSpec SelectSpec selectResult selectSymbol selectDescdefBuildPlanDir defCommand commandParser maybeReader aggregators parseSelectparseAggregatorwrapped docSelectdocSelectWithDefaultdocAggregatorsformatVersionsdocFormatVersionsprogramDescription ResolvedQuery RQueryOne RQueryCabal realSourceresolveQueries' resolveQuerysearchVersionsgetQueriedPackageNames