!3)       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None;M_   None %&',4=?PSX_tnivKWhether the value is new or was retrieved (or derived) from old attributes/nivRun an !* and return the new attributes and result.6niv'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 compiled9nivRenders the template. Returns L if some of the attributes are missing. renderTemplate ("foo" -> "bar") " foo:" -> pure (Just "bar") renderTemplate ("foo" -> "bar") " baz" -> pure Nothing@nivLike ? but forces evaluation7  !-,*)'+$#%&"(./0123456789:;<=>?@A7.!-,*)'+$#%&"( /012345 6789:;<=>?@ANone%._jUnivXThe GitHub update function TODO: fetchers for: * npm * hackage * docker * ... ?XnivTODO: Error instead of T.Text?ZnivTGet the latest revision for owner, repo and branch. TODO: explain no error handlingUnivprefetchnivlatest revisionnivget repoZnivownernivreponivbranchPQSRTUVWXYZ[\]^_`abUVPQSRTWXYZ[\]^_`abNone_PcdefgcdefgNoneX hijklmnop hijklmnopNoneLqrrqSafeNone %;MP_'?nivSimply discards the  niveEfficiently deserialize a JSON value from a file. If this fails due to incomplete or invalid input,  is returned.nThe input file's content must consist solely of a JSON document, with no trailing data except for whitespace.?This function parses immediately, but defers conversion. See json for details.niv-Efficiently serialize a JSON value as a lazy  and write it to a file.niv;Checks if content is different than default and if it does not contain a comment line with niv: no_updateniv nix/sources.nixniv&Glue code between nix and sources.jsonniv@nix/sources.json"nivEmpty JSON map9stuvwxyz{|}~9|}yz{~vwxstu      !"#$%&'(%)*+,-./'0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstuvvwxxyzz{|}~ niv-0.2.0-Ia8mUn0kkXz6i44UNLjCgL Niv.Logger Niv.Update Niv.GitHubNiv.GitHub.TestNiv.Update.TestNiv.TestNiv.Cli Paths_nivjob jobStackSizejobStacktsaysaygreenredtboldboldtfaintfaintFreedomLockedFree 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 githubPathaborttshowtest_githubInitsProperlytest_githubUpdatestest_githubDoesntOverrideRevtest_githubURLFallbacktest_githubUpdatesOnce simplyRuns picksFirstloadssurvivesChecks isNotTooEagerdirtyForcesUpdateshouldNotRunWhenNoChangestemplatesExpandconstBoxtesttests PackageSpec unPackageSpec PackageName unPackageNameSources unSourcescli parseCommand getSources setSourcesparsePackageName attrsToSpecparsePackageSpec parsePackage parseCmdInitcmdInit parseCmdAddcmdAdd parseCmdShowcmdShowparseCmdUpdatespecToFreeAttrsspecToLockedAttrs cmdUpdatepartitionEithersHMSparseCmdModify cmdModify parseCmdDropcmdDropdecodeFileStrict encodeFile forWithKeyM forWithKeyM_ mapWithKeyM mapWithKeyM_nixPrefetchURLshouldUpdateNixSourcesNixwarnIfOutdatedpathNixSourcesNixinitNixSourcesNixContentpathNixSourcesJsoninitNixSourcesJsonContentabortSourcesDoesntExistabortSourcesIsntAMapabortAttributeIsntAMapabortSourcesIsntJSONabortCannotAddPackageExistsabortCannotUpdateNoSuchPackageabortCannotModifyNoSuchPackageabortCannotDropNoSuchPackageabortCannotShowNoSuchPackage&abortCannotAttributesDropNoSuchPackageabortUpdateFailedabortNixPrefetchExpectedOutput$fEqPackageName$fHashablePackageName$fFromJSONKeyPackageName$fToJSONKeyPackageName$fShowPackageName$fFromJSONPackageSpec$fToJSONPackageSpec$fShowPackageSpec$fSemigroupPackageSpec$fMonoidPackageSpec$fFromJSONSources$fToJSONSourcesbase GHC.MaybeNothingversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebytestring-0.10.8.2Data.ByteString.Lazy.Internal ByteString