h$G =      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       None, %'(-./01256789:;<>?None, %'(-./01256789:;<>?gamgeeAn effect capable of providing random bytes for use with cryptonitegamgeeGenerate random bytesNone, %'(-./01256789:;<>?D gamgeeAn effect that provides input to the application. Intended to be used in contexts where the input is a secret such as passwords. Interpretations may chose to "protect" the input appropriately. For example, an IO interpretation may chose not to echo the input to the console. gamgeeRetrieve a secret input gamgeeA prompt  None, %'(-./01256789:;<>? gamgeeTOTP/HOTP tokengamgee7A short unique label for this token used to identify itgamgee4The secret provided by the issuer to generate tokensgamgeeThe name of the issuergamgee%SHA algorithm used to generate tokensgamgee&Number of digits in the token - 6 or 8gamgee0Refresh interval of the token - typically 30 secgamgee(Refresh interval of the token in seconds(gamgeeOptional issuer of this token+gamgeeSecret used to generate OTPs0gamgeeLabel of the token3gamgee.Type of token TOTP or HOTP (not supported yet)+  !"#$%&'()*+,-./01234567+34012+,-./()*$%&'!"#  567None, %'(-./01256789:;<>?hgamgee!Errors returned by Gamgee effects hikjlmnopq hikjlmnopqNone, %'(-./01256789:;<>? nygamgee'Reinterprets a JSONStore as a ByteStoretuvwxyztuvwxyzNone, %'(-./01256789:;<>? L{gamgee,Effect for encrypting and decrypting secrets|gamgee+Encrypts a secret with an optional password}gamgee*Decrypt a secret with an optional password|gamgeeThe secret to encryptgamgee The password}gamgeeBase64 encoded IVgamgeeBase64 encoded encrypted secretgamgeeThe password for decryptiongamgeeDecrypted secret{|}~{|}~None, %'(-./01256789:;<>?  None, %'(-./01256789:;<>? &+ hqponmljiktuvwxyz{|}~ None- %'(-./01256789:;<>?  None, %'(-./01256789:;<>? !   !"#$%&&'()*+,-.//01234566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9               #gamgee-1.2.2-J40rGWe8DSNLUE2qXWQxyMGamgee.Effects.ByteStoreGamgee.Effects.CryptoRandomGamgee.Effects.SecretInput Gamgee.TokenGamgee.Effects.ErrorGamgee.Effects.JSONStoreGamgee.Effects.CryptoGamgee.Effects.TOTPGamgee.EffectsGamgee.Operation Paths_gamgee ByteStore ReadByteStoreWriteByteStore readByteStorewriteByteStore CryptoRandom RandomBytes randomBytesrunCryptoRandomIO SecretInput secretInputrunSecretInputIOConfig configVersion configTokensTokensTokenIdentifierunTokenIdentifier TokenSpec tokenType tokenLabel tokenSecret tokenIssuertokenAlgorithm tokenDigits tokenPeriod TokenPeriod unTokenPeriod TokenDigitsDigits6Digits8TokenAlgorithm AlgorithmSHA1AlgorithmSHA256AlgorithmSHA512 TokenIssuer unTokenIssuer TokenSecretTokenSecretPlainTextTokenSecretAES256tokenSecretAES256IVtokenSecretAES256Data TokenLabel unTokenLabel TokenTypeTOTP getIdentifiercurrentConfigVersion initialConfig$fToJSONTokenType$fFromJSONTokenType$fToJSONTokenDigits$fFromJSONTokenDigits$fGenericConfig$fFromJSONConfig$fToJSONConfig$fEqTokenIdentifier$fShowTokenIdentifier$fHashableTokenIdentifier$fIsStringTokenIdentifier$fSemigroupTokenIdentifier$fToStringTokenIdentifier$fFromJSONTokenIdentifier$fToJSONTokenIdentifier$fFromJSONKeyTokenIdentifier$fToJSONKeyTokenIdentifier$fGenericTokenSpec$fShowTokenSpec$fFromJSONTokenSpec$fToJSONTokenSpec$fEqTokenPeriod$fOrdTokenPeriod$fEnumTokenPeriod$fNumTokenPeriod$fRealTokenPeriod$fIntegralTokenPeriod$fShowTokenPeriod$fFromJSONTokenPeriod$fToJSONTokenPeriod$fShowTokenDigits$fShowTokenAlgorithm$fGenericTokenAlgorithm$fFromJSONTokenAlgorithm$fToJSONTokenAlgorithm$fShowTokenIssuer$fIsStringTokenIssuer$fFromJSONTokenIssuer$fToJSONTokenIssuer$fShowTokenSecret$fGenericTokenSecret$fFromJSONTokenSecret$fToJSONTokenSecret$fShowTokenLabel$fIsStringTokenLabel$fFromJSONTokenLabel$fToJSONTokenLabel$fShowTokenTypeEffError AlreadyExists NoSuchToken CryptoError CorruptIVCorruptBase64EncodingSecretDecryptErrorInvalidTokenPeriodUnsupportedConfigVersionJSONDecodeError$fShowEffError $fEqEffError JSONStore JsonEncode JsonDecode jsonEncode jsonDecode runJSONStoreconfigStoreToByteStoreCryptoEncryptDecrypt encryptSecret decryptSecret runCrypto GetSecretGetTOTP getSecretgetTOTPrunTOTP runStateJSONaddToken deleteToken listTokensgetOTPgetInfochangePasswordversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName