!8,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None niv:Efficiently prettify and serialize a JSON value as a lazy  and write it to a file.Safe None;M_ ?  None %&',4=?PSX_nivKWhether the value is new or was retrieved (or derived) from old attributes8nivRun an ** and return the new attributes and result.?niv'Runs an update, trying to evaluate the es as little as possible. This is a hairy piece of code, apologies _(0)_/ In most cases I just picked the first implementation that compiledBnivRenders the template. Returns L if some of the attributes are missing. renderTemplate ("foo" -> "bar") " foo:" -> pure (Just "bar") renderTemplate ("foo" -> "bar") " baz" -> pure NothingInivLike H but forces evaluation7! "&%$#'()*653204-,./+1789:;<=>?@ABCDEFGHIJ77*653204-,./+1()89:;'"&%$#! <=>?@ABCDEFGHIJNone%._^nivXThe GitHub update function TODO: fetchers for: * npm * hackage * docker * ... ?anivTODO: Error instead of T.Text?cnivTGet the latest revision for owner, repo and branch. TODO: explain no error handling^nivprefetchnivlatest revisionnivget repocnivownernivreponivbranchYZ\[]^_`abcdefghijk^_YZ\[]`abcdefghijkNone;M_$ lniv,All the released versions of nix/sources.nixnivSimply discards the niv nix/sources.jsonnivA user friendly versionniv6Find a version based on the md5 of the nix/sources.nixniv#The MD5 sum of a particular versionnivThe MD5 sum of .nix sources.nixniv nix/sources.nixniv&Glue code between nix and sources.jsonnivEmpty JSON map)lvutsrqonpmwxyz{|}~)}~z{|wxylvutsrqonpmNone'&nivDEnsure that the sources.nix we ship is tracked as the latest versionNone_'| NoneX' None(x Safe( None%;MP_+niv;Checks if content is different than default and if it does not contain a comment line with niv: no_updatenivThe IO (real) github update!!  !"#$%%&'()*+(,*-./01234526789:;<4=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aabcdefghijklmnopqrstuvwxyz{|}~~  niv-0.2.2-1nyx6936uvYE3wI2mAaeZ7Data.Aeson.ExtendedData.HashMap.Strict.Extended Niv.Logger Niv.Update Niv.GitHub Niv.SourcesNiv.Sources.TestNiv.GitHub.TestNiv.Update.TestNiv.TestNiv.Cli Paths_nivencodeFilePretty forWithKeyM forWithKeyM_ mapWithKeyM mapWithKeyM_job jobStackSizejobStacktsaysaygreenyellowtyellowbluetblueredtboldboldtfaintfaintFreedomLockedFree BoxedAttrsBoxboxNewboxOp UpdateReady UpdateSuccess UpdateFailed UpdateResUpdateNeedMore FailNoSuchKeyFailZero FailCheck FailTemplateJSONComposeCompose'UpdateIdArrFirstZeroPlusCheckLoadUseOrSetRunTemplateAttrs runUpdate execUpdate evalUpdate tryEvalUpdaterunBox unboxAttrsboxAttrs runUpdate' decodeBox decodeValuerenderTemplatetemplatecheckloaduseOrSetupdaterunrun'dirty $fIsStringBox$fSemigroupBox$fApplicativeBox $fShowUpdate$fCategoryTYPEUpdate $fArrowUpdate$fArrowPlusUpdate$fArrowZeroUpdate$fShowUpdateFailed $fFunctorBox $fEqFreedom $fShowFreedom$fFunctorUpdateReady$fFunctorUpdateRes GithubReporepoDescription repoHomepagerepoDefaultBranch githubUpdategithubURLTemplate githubRepoabortCouldNotFetchGitHubRepodefaultRequestgithubLatestRevabortCouldNotGetRev githubHost githubApiPort githubApiHost githubSecure githubPathaborttshowSourcesNixVersionV1V2V3V4V5V6V7V8V9V10 PackageSpec unPackageSpec PackageName unPackageNameSources unSources SourcesErrorSourcesDoesntExistSourceIsntJSON SpecIsntAMapgetSourcesEither getSources setSources attrsToSpecpathNixSourcesJsonabortSourcesDoesntExistabortSourcesIsntJSONabortSpecIsntAMapsourcesVersionToTextlatestVersionMD5md5ToSourcesVersionsourcesVersionToMD5 sourcesNixMD5pathNixSourcesNixwarnIfOutdatedinitNixSourcesNixContentinitNixSourcesJsonContent$fEqPackageName$fHashablePackageName$fFromJSONKeyPackageName$fToJSONKeyPackageName$fShowPackageName$fFromJSONPackageSpec$fToJSONPackageSpec$fShowPackageSpec$fSemigroupPackageSpec$fMonoidPackageSpec$fFromJSONSources$fToJSONSources$fBoundedSourcesNixVersion$fEnumSourcesNixVersion$fEqSourcesNixVersiontest_shippedSourcesNixIsLatesttest_githubInitsProperlytest_githubUpdatestest_githubDoesntOverrideRevtest_githubURLFallbacktest_githubUpdatesOnce simplyRuns picksFirstloadssurvivesChecks isNotTooEagerdirtyForcesUpdateshouldNotRunWhenNoChangestemplatesExpandconstBoxtesttestscli parseCommandparsePackageNameparsePackageSpec parsePackage parseCmdInitcmdInit parseCmdAddcmdAdd parseCmdShowcmdShow showPackageparseCmdUpdatespecToFreeAttrsspecToLockedAttrs cmdUpdatepartitionEithersHMSparseCmdModify cmdModify parseCmdDropcmdDropnixPrefetchURLshouldUpdateNixSourcesNix githubUpdate'abortSourcesIsntAMapabortCannotAddPackageExistsabortCannotUpdateNoSuchPackageabortCannotModifyNoSuchPackageabortCannotDropNoSuchPackageabortCannotShowNoSuchPackage&abortCannotAttributesDropNoSuchPackageabortUpdateFailedabortNixPrefetchExpectedOutputbytestring-0.10.8.2Data.ByteString.Lazy.Internal ByteStringbase GHC.MaybeNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName