!ɕ/       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ NoneMANone2B6None1MB  !"#$  !"#$None "#127EMXC././None "#127EMXD@0101NoneGz2keystoreTpackage time has some variation in the formatting of second fractions in %Q (http:/hackage.haskell.orgpackage time-1.8.0.2/changelog) so we we will standardise on ".xxx"234234None"#127=?EMXH@d:;<=>?@ABCDEFGKJIHLMONPQRSTZYXWVU[\^]_`abcfeddCDE@AB=>?:;<FGKJIHLMONPQRSTZYXWVU[\^]_`abcfedNone"#127=?EMXMkeystoreiKeystore session context, created at the start of a session and passed to the keystore access functions.p  !"#$234      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EFGHIJKLMNOPQRS^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EFGHIJKLMNOPQRS  None"#EXY'TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz'dVWXYZ[\]^_`abcefghijklmnopqrstuTUvwxyz None"#[ None2M[^(( None"#M\ None"#$M]z%%None"#4MzkeystorehEncode a key store as a JSON ByteString (discarding any cached cleartext copies of secrets it may have)keystore6Encrypt a clear text message with a name RSA key pair.keystore^Decrypt an RSA-encrypted message (the RSA secret key named in the message must be available.)keystoreESign a message with a named RSA secret key (which must be available).keystore5Verify that an RSA signature of a message is correct.keystoreNSymetrically encrypt a message with a Safeguard (list of names private keys).keystoreNSymetrically encrypt a message with a Safeguard (list of names private keys).keystoreCreate a private key.keystoreRemember the secret text for a key -- will record the hash and encrypt it with the configured safeguards, generating an error if any of the safeguards are not available.keystoreFBackup all of the keys in the store with their configured backup keys. keystore2Backup a named key with its configured backup key.keystorePrimitive to make a cryptographic copy (i.e., a safeguard) of the secret text of a key, storing it in the key (and doing nothing if the that safeguard is already present).keystore?List all of the keys in the store, one per line, on the output.keystore.Print out the information of a particular key.keystore'Return all of the keys in the keystore.keystoreqTry to load the secret copy into the key and return it. (No error is raised if it failed to recover the secret.)keystoreETry to load an encryption or decryption key for an encrypted message.keystore(unique) name of the new keykeystorethe comment stringkeystorethe identity stringkeystore7the environment variable used to hold a clear text copykeystore (optionally) the clear test copyTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzNone"#Xj keystore1The parameters used to set up a KeyStore session.keystore1location of any explictlt specified keystore filekeystore6whether debug output has been specified enabled or notkeystore#Just True => do not update keystorekeystoreSuitable default .keystore3The default place for keystore settings (settings).keystore7Add the standard file extension to a base name (.json).keystore0The default file for a keystore (keystore.json).keystoreDetermine the  and keystore  from keystoreSet up the keystore state.keystore<Read the JSON-encoded KeyStore settings from the named file.  None"#2X1( keystoreRGenerate a new keystore located in the given file with the given global settings. keystoreGiven  describing the location of the keystore, etc., generate an IC for use in the following keystore access functions that will allow context to be cached between calls to these access functions. keystoreXThis functional method will generate an IC that will not cache any state between calls.keystore the filepath of the loaded storekeystore!List the JSON settings on stdout.keystore1Return the settings associated with the keystore.keystoreFUpdate the global settings of a keystore from the given JSON settings.keystore3List the triggers set up in the keystore on stdout.keystore,Returns the striggers setup on the keystore.keystore7addTrigger' cariant that erads the setting from a file.keystoretSet up a named trigger on a keystore that will fire when a key matches the given pattern establishing the settings.keystore+Remove the named trigger from the keystore.keystoreICreate an RSA key pair, encoding the private key in the named Safeguards.keystoreJCreate a symmetric key, possibly auto-loaded from an environment variable.keystoreAdjust a named key.keystore%Load a named key from the named file.keystoreLoad the named key.keystore3Encrypt and store the key with the named safeguard.keystore1Try and retrieve the secret text for a given key.keystoreReturn the identity of a key.keystore)Return the comment associated with a key. keystore!Return the creation UTC of a key.!keystoreReturn the hash of a key."keystore!Return the hash comment of a key/#keystoreRetuen the hash salt of a key.$keystore2(For public key pairs only) return the public key.%keystorePReturn the secret text of a key (will be the private key for a public key pair).&keystore,List a summary of all of the keys on stdout.(keystore'Return all of the keys in the keystore.)keystore(Delete a list of keys from the keystore.+keystore Encrypt a   with a named key.,keystore Encrypt a   with a named key to produce a O.-keystoreIDecrypt a file with the named key (whose secret text must be accessible)..keystore Decrypt a  < with the named key (whose secret text must be accessible)./keystore Decrypt a   from a O< with the named key (whose secret text must be accessible).0keystoreySign a file with the named key (whose secret text must be accessible) to produce a detached signature in the named file.1keystoreSign a  \ with the named key (whose secret text must be accessible) to produce a detached signature.2keystore<Verify that a signature for a file via the named public key.3keystoreVerify that a signature for a   via the named public key.4keystoreeRun a KS function in an IO context, dealing with keystore updates, output, debug logging and errors.  !"#$234      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EFGHIJKLMNOPQRS    !"#$%&'()*+,-./012345678?    !"#$%(&')*+,-./012345678None"#@ACX N9keystoreThis type specifies the reasons that an attempt to access a key from the store has failed. This kind of failure suggests an inconsistent model and will be raised regardless of which keys have been stored in the store. keystoreGRequests to retrieve a key from the staor can fail for various reasons.<keystoreOne, many or all of the keys in a store may be rotated at a time. we use one of these to specify which keys are to be rotated.@keystorelA key is triple containing some (plain-text) identity information for the key, some comment text and the secret text to be encrypted. Note that the keystore doesn't rely on this information but merely stores it. (They can be empty.) The identity field will often be used to storte the key's identity within the system that generates and uses it, ofor example.EkeystoreeSections are used to hold the top (master) key for the keystore, its signing key, or deployment keysIkeystore]This class describes the relationship between the host-id, section-id and key-id types used to build a hierarchical deployment model for a keystore. A minimal instance would have to define hostDeploySection. The deploy example program contains a fairly thorough example of this class being used to implement a quite realitic deploymrnt scenario.ZkeystoreHere we create the store and rotate in a buch of keys. N.B. All of the section passwords must be bound in the process environment before calling procedure.[keystore3Rotate in a set of keys specified by the predicate.\keystoreRotate in a set of keys specified by the predicate, rotating each key only if it has changed: NB the check is contingent on the secret text being accessible; if the secret text is not accessible then the rotation will happen.]keystore}Rotate in a set of keys specified by the predicate with the first argument controlling whether to squash duplicate rotations^keystore%Retrieve the keys for a given host from the store. Note that the whole history for the given key is returned. Note also that the secret text may not be present if it is not accessible (depnding upon hwich section passwords are correctly bound in the process environment). Note also that the  G diagnostic should not fail if a coherent model has been ddefined for I._keystorelSign the keystore. (Requites the password for the signing section to be correctly bound in the environment)akeystore4A predicate specifying all of the keys in the store.bkeystore8A predicate specifying none of the keys in the keystore.ckeystore0List all of the keys specified by a KeyPredicatedkeystoreA utility for specifing a slice of the keys in the store, optionally specifying host section and key that should belong to the slice. (If the host is specified then the resulting predicate will only include host-indexed keys belonging to the given host.)gkeystoreList a shell script for establishing all of the keys in the environment. NB For this to work the password for the top section (or the passwords for all of the sections must be bound if the store does not maintain a top key).hkeystoreEList a shell script for storing the public signing key for the store.ikeystoreList all of the keys that have the given name as their prefix. If the generic name of a key is given then it will list the complete history for the key, the current (or most recent) entry first.jkeystoreReturn the generic name for a given key thst is used by the specified host, returning a failure diagnostic if the host does not have such a key on the given Section model.kkeystoreiBasic function for generating a key name from the host (if it is host indexex), section name and key id. keystoreReturn the section that a host stores a given key in, returning a failure diagnostic if the host does not keep such a key in the given Section model.lkeystoreBThe name of the key that stores the password for a given sections. Jkeystorelthe deployment section: for a given host, the starting section for locating the keys during a deployment (higher"/closer sections taking priority)Kkeystorewhether the section holds the top key for the keystore (i.e., keystore master key), the signing key for the keystore or is a normal section containing deployment keysLkeystorethe sections that get a copy of the master for this section (making all of its keys available to them); N.B., the graph formed by this this relationship over the sections must be acyclicMkeystoreTif the key is host-indexed then the predicate specifies the hosts that use this keyNkeystore-specifies which sections a key is resident inOkeystore#loads the data for a particular keyPkeystore3loads the data for a particular key, returning modeQkeystore&loads the setting for a given settingsRkeystore+describes the key (for the ks help command)Skeystore/describes the section (for the ks help command)Tkeystoreisecifies the environment variable containing the ^ master password/provate key for for the given section59:;<=>?@ABCDEHFGIJKLMNOPQRSTUWVXYZ[\]^_`abcdefghijklm5XYUWVIJKLMNOPQRSTEHFG@ABCD=>?<9:;Z[\]^_`abcdefghijklmNone 4&&Safe None"#XrKDkeystore4the abstract syntax for the passowd manager commandskeystorethe client calls + to bind the passwords into the environmentkeystoreLif True , collect will not report an error if the master password is missingkeystore0the list of active passwords for this collectionkeystoreYwe resort to phantom types when we have no other way of passing PW into a function (see )keystorekThe PW class provides all of the information on the bounded enumeration type used to identify the passwordskeystore'the name by which the password is knownkeystoreparse a PasswordName into a pkeystoreuwhether the passwords is a session and if so a function for extracting the session name from the secret password textkeystoreLwhether the password is a one-shot password, needing to be primed to be usedkeystoredthe environment variable where the password is expected to be found by the client/deployment scriptskeystore2a brief description of the password in a few wordskeystorea description of the passwordkeystore!The password manager is used for storing locally the passwords and session tokens of a single user. The password used to encode the store is stored in an environment variable and the passwords and tokens are stored in a file. The file and and environment cariable are specified in the PWConfig record. (The attributes of each password and session list, including the environment variables that they are communicated through, is statically specified with the PW class below.)keystore-file in which to store the encrypted passordskeystorePthe environmant variable containing the master password used to secure the storekeystore:error message to be used on failure to locate the keystorekeystoreAerror message to be used on failure to locate the master passwordkeystore6for firing up an interactive shell on successful loginkeystore)for generating has descriptions (can use  here)keystoremust be true to enable  commandskeystoreHthe prefix string to be used in making up the commands from dump scriptskeystorethe sample scriptkeystore?map the dynamic (plus) passwords to their environment variableskeystore@raise an error if not logged in and collect all of the passwordskeystoreCthe password manager CLI: it just needs the config and command linekeystore a sample c# generator to help with setting up keystore7sample sample-script generator to help with setting up keystoreLhashing the master password to create the private key for securing the storekeystore+bind the master password in the environmentkeystorecreate an empty passowrd store; if the boolean flag is False then an interactive shell is fired up with access to the new store; if no password is specified then one is read from stdinkeystorelaunch an interactive shell with access to the password store; if the bool boolean flag is True then it will loop asking for the passwoord until the correct password is typed (or an error ocurrs, possibly from a SIGint); if no =. is specified then one will be read from stdinkeystore$is this the correct master password?keystore\is this the correct master password for this keystore? Return the decrypted keystore if so.keystoreis the password store there?keystoreare we currently logged in?keystore6is the password/session bound to a value in the store?keystoreAimport the contents of another keystore into the current keystorekeystoreAimport the contents of another keystore into the current keystorekeystoreloads a password into the store; if this is a session password and the boolean ss is True then the session will be reset to this password also; if no =. is specified then one will be read from stdinkeystore/load a dynamic password into the Password storekeystore&set the comment for the password storekeystore*collect the available passwords listed in I from the store and bind them in their designated environmants variableskeystoreprime a one-shot password so that it will be availabe on the next collection (probably for a deployment); if no password is specified then they are all primedkeystore"select a different session for usekeystore delete a password from the storekeystore delete a password from the storekeystoredelete a session from the storekeystoreprint a status line; if q is TrueG then don't output anything and exit with fail code 1 if not logged inkeystore&print a status apropriate for a promptkeystore%list the passwords, one per line; if a^ is set then all passwords will be listed, otherwise just the primed passwords will be listedkeystore%list all of the dynamic (+) passwordskeystore$list the sessions, one per line; if pD is specified then all of the sessions are listed for that passwordkeystoreHprint the info, including the text descriton, for an individual passowrdkeystoreget the info on a passwordkeystore)print the info for a dynamic (+) passwordkeystore&get the info on a dynamic (+) passwordkeystore:dump the store in a s script that can be used to reload itkeystorePcollect the passowrds, bthem into the environmant and launch an interacive shellkeystore*check whether a password is primed for usekeystorelookup a session in a password store, possibly specifying the password it belogs to; exactly one session must be found, otherwise an error is generatedkeystore.lookup all of the sessions in a password storekeystore%read a passord from stdin and hash itkeystoreuse a ) to represent a primed one-shot password, otherwisekeystore-make up a script for loading a password storekeystoremarge in the second password store into the first, all definitions in the second passwords store, except the store's creation time, which is taken from the first store; any sessions are also merged with the sessions in the second store taking precedencekeystorerun a password manager commandkeystore!parse a passwword manager commandkeystoreA> don't fire up an interactive shell with access to the new storekeystorethe master passwordkeystorelist active sessions onlykeystore!list only the session identifierskeystore5if specified, then only the sessions on this passwordkeystore%True => show the password secret textkeystorethe password to showkeystore'the prefix for each script command linekeystorethe store commentkeystorethe passwords to loadkeystorethe sessions to selectp:;<=>?@ABp@AB=>?:;<None"#v, , Nonew  !"#$234:;<=>?@AB      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EFGHIJKLMNOPQRS    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEHFGIJKLMNOPQRSTUWVXYZ[\]^_`abcdefghijklm  !!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKKLMNOPQRRSTTUVVWXXYZZ[\]^__`abbcddefghijkklmnnoppqrstuvwxyz{|}~         !!"#$%&'()*+,-./001234567889:;<<=>??@ABCDEFGGHIIJKLMNOPPQRSTUVWWXYZZ[\\]^_``abbcdefghijklmnnopqqrsstuuvwxxyz{|}~      !"#$$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012 3 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a a b c d d e f g g h i j k l m n o p q r s t u v w x y z { | } ~                                                                 !"#$%&'()*+,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqqrstuvwxyz{|}~'keystore-0.8.1.1-HkTqFakR22XGsU1V7pCVUNData.KeyStore.TypesData.KeyStore.Types.EData.KeyStore.KS.CPRNG$Data.KeyStore.Types.NameAndSafeguard'Data.KeyStore.Types.PasswordStoreSchemaData.KeyStore.Types.SchemaData.KeyStore.Types.UTC&Data.KeyStore.Types.PasswordStoreModelData.KeyStore.KS.OptData.KeyStore.KS.ConfigurationData.KeyStore.KS.KSData.KeyStore.KS.PacketData.KeyStore.KS.CryptoData.KeyStore.KSData.KeyStore.IO.ICData.KeyStore.IOData.KeyStore.SectionsData.KeyStore.CLI.CommandData.KeyStore.VersionData.KeyStore.PasswordManagerData.KeyStore.CLI Data.KeyStore0crypto-pubkey-types-0.4.3-BIxlOJRjIx7BM4zBrUedljCrypto.Types.PubKey.RSA PrivateKey private_pub private_d private_p private_q private_dP private_dQ private_qinv PublicKey public_sizepublic_npublic_etransformers-0.5.5.0Control.Monad.Trans.ErrorstrMsgCPRNGnewCPRNG testCPRNG generateCPRNG $fCPRGCPRNGReasonErsaErroreWrap showReason $fErrorReason$fExceptionReason $fShowReason SafeguardNamename_name safeguard safeguardKeysisWildSafeguardprintSafeguardparseSafeguard$fIsStringSafeguard$fEqName $fOrdName$fIsStringName $fReadName $fShowName $fEqSafeguard$fOrdSafeguard$fShowSafeguardpasswordStoreSchemapasswordStoreChangelogkeystoreSchemakeystoreChangelogUTC_UTC$fFromJSONWithErrsUTC $fFromJSONUTC $fToJSONUTC$fEqUTC $fShowUTC SessionName _SessionName PasswordText _PasswordText PasswordName _PasswordNamePasswordStoreComment_PasswordStoreCommentSession _ssn_name _ssn_password_ssn_isOneShot _ssn_setupSessionPasswordAssoc_ _z_spa_name_z_spa_session SessionMap_ _z_smp_map Password_ _z_pw_name _z_pw_text_z_pw_sessions_z_pw_isOneShot _z_pw_primed _z_pw_setupNamePasswordAssoc_ _z_npa_name_z_npa_password PasswordMap_ _z_pm_mapPasswordStore_ _z_ps_comment _z_ps_map _z_ps_setup$fIsStringPasswordStoreComment$fShowPasswordStoreComment$fEqPasswordStoreComment$fOrdPasswordStoreComment$fIsStringPasswordName$fShowPasswordName$fEqPasswordName$fOrdPasswordName$fIsStringPasswordText$fShowPasswordText$fEqPasswordText$fOrdPasswordText$fIsStringSessionName$fShowSessionName$fEqSessionName$fOrdSessionName $fShowSession $fEqSession$fShowSessionPasswordAssoc_$fEqSessionPasswordAssoc_$fShowSessionMap_$fEqSessionMap_$fShowPassword_ $fEqPassword_$fShowNamePasswordAssoc_$fEqNamePasswordAssoc_$fShowPasswordMap_$fEqPasswordMap_$fShowPasswordStore_$fEqPasswordStore_ SessionMapPassword_pw_name_pw_text _pw_sessions _pw_isOneShot _pw_primed _pw_setup PasswordMap PasswordStore _ps_comment_ps_map _ps_setup z_ps_commentz_ps_map z_ps_setupz_pm_map z_npa_namez_npa_passwordz_pw_isOneShot z_pw_name z_pw_primed z_pw_sessions z_pw_setup z_pw_text z_smp_map z_spa_name z_spa_session ssn_isOneShotssn_name ssn_password ssn_setuppasswordStoreComment passwordName passwordText sessionNametoPasswordStore_fromPasswordStore_toPasswordMap_fromPasswordMap_ toPassword_ fromPassword_ toSessionMap_fromSessionMap_$fFromJSONWithErrsSessionName$fFromJSONSessionName$fToJSONSessionName$fFromJSONWithErrsPasswordText$fFromJSONPasswordText$fToJSONPasswordText$fFromJSONWithErrsPasswordName$fFromJSONPasswordName$fToJSONPasswordName&$fFromJSONWithErrsPasswordStoreComment$fFromJSONPasswordStoreComment$fToJSONPasswordStoreComment$fFromJSONWithErrsSession$fFromJSONSession$fToJSONSession'$fFromJSONWithErrsSessionPasswordAssoc_$fFromJSONSessionPasswordAssoc_$fToJSONSessionPasswordAssoc_$fFromJSONWithErrsSessionMap_$fFromJSONSessionMap_$fToJSONSessionMap_$fFromJSONWithErrsPassword_$fFromJSONPassword_$fToJSONPassword_$$fFromJSONWithErrsNamePasswordAssoc_$fFromJSONNamePasswordAssoc_$fToJSONNamePasswordAssoc_$fFromJSONWithErrsPasswordMap_$fFromJSONPasswordMap_$fToJSONPasswordMap_ $fFromJSONWithErrsPasswordStore_$fFromJSONPasswordStore_$fToJSONPasswordStore_$fFromJSONWithErrsPasswordStore$fFromJSONPasswordStore$fToJSONPasswordStore$fShowPassword $fEqPassword$fShowPasswordStore$fEqPasswordStore ps_commentps_mapps_setup pw_isOneShotpw_name pw_primed pw_sessionspw_setuppw_textDirctn Encrypting DecryptingSettings _SettingsPattern _pat_string _pat_regexVoid_VoidSignaturePacket_SignaturePacketEncryptionPacket_EncryptionPacket RSASignature _RSASignatureRSASecretBytes_RSASecretBytesRSAEncryptedKey_RSAEncryptedKey SecretData _SecretDataAESKey_AESKeyHashData _HashDataIV_IVSalt_Salt ClearText _ClearTextEnvVar_EnvVarComment_Comment TriggerID _TriggerID SettingID _SettingIDIdentity _Identity REP__Name _REP__NameOctets_Octets Iterations _Iterations REP__Pattern _REP__Pattern FragmentID _FragmentID EncryptionKey EK_public EK_private EK_symmetricEK_noneHashPRFPRF_sha1 PRF_sha256 PRF_sha512Cipher CPH_aes128 CPH_aes192 CPH_aes256REP__PrivateKey_prk_pub_prk_d_prk_p_prk_q_prk_dP_prk_dQ _prk_qinvREP__PublicKey _puk_size_puk_n_puk_e AESSecretData_asd_iv_asd_secret_data RSASecretData_rsd_encrypted_key_rsd_aes_secret_dataEncrypedCopyDataECD_rsaECD_aes ECD_clear ECD_no_dataREP__Safeguard _sg_names EncrypedCopy _ec_safeguard _ec_cipher_ec_prf_ec_iterations_ec_salt_ec_secret_dataHashDescription_hashd_comment _hashd_prf_hashd_iterations_hashd_width_octets_hashd_salt_octets _hashd_saltHash_hash_description _hash_hash REP__Settings _stgs_jsonTrigger_trg_id _trg_pattern _trg_settingsEncrypedCopyMap_ _z_ecm_mapKey_ _z_key_name_z_key_comment_z_key_identity_z_key_is_binary_z_key_env_var _z_key_hash _z_key_public_z_key_secret_copies_z_key_clear_text_z_key_clear_private_z_key_created_at NameKeyAssoc_ _z_nka_name _z_nka_keyKeyMap_ _z_kmp_map TriggerMap_ _z_tmp_mapConfiguration__z_cfg_settings_z_cfg_triggers KeyStore_ _z_ks_config _z_ks_keymappattern inj_pattern prj_pattern inj_settings prj_settingsdefaultSettingsmappendSettingscheckSettingsCollisionsmarker inj_safeguard prj_safeguardinj_nameprj_name inj_PublicKey prj_PublicKeyinj_PrivateKeyprj_PrivateKeye2ppbkdfkeyWidthvoid_ map_from_list$fIsStringPattern $fShowPattern $fEqPattern$fMonoidSettings$fSemigroupSettings$fShowREP__Settings$fEqREP__Settings$fShowREP__Safeguard$fEqREP__Safeguard$fShowREP__PublicKey$fEqREP__PublicKey$fShowREP__PrivateKey$fEqREP__PrivateKey $fShowCipher $fEqCipher $fOrdCipher$fBoundedCipher $fEnumCipher $fShowHashPRF $fEqHashPRF $fOrdHashPRF$fBoundedHashPRF $fEnumHashPRF$fIsStringFragmentID$fShowFragmentID$fEqFragmentID$fOrdFragmentID$fIsStringREP__Pattern$fShowREP__Pattern$fEqREP__Pattern$fOrdREP__Pattern$fShowIterations$fEqIterations$fOrdIterations $fShowOctets $fEqOctets $fOrdOctets$fIsStringREP__Name$fShowREP__Name $fEqREP__Name$fOrdREP__Name$fIsStringIdentity$fShowIdentity $fEqIdentity $fOrdIdentity$fIsStringSettingID$fShowSettingID $fEqSettingID$fOrdSettingID$fIsStringTriggerID$fShowTriggerID $fEqTriggerID$fOrdTriggerID$fIsStringComment $fShowComment $fEqComment $fOrdComment$fIsStringEnvVar $fShowEnvVar $fEqEnvVar $fOrdEnvVar$fShowClearText $fEqClearText$fOrdClearText $fShowSalt$fEqSalt $fOrdSalt$fShowHashDescription$fEqHashDescription$fShowIV$fEqIV$fOrdIV$fShowHashData $fEqHashData $fOrdHashData $fShowHash$fEqHash $fShowAESKey $fEqAESKey $fOrdAESKey$fShowSecretData$fEqSecretData$fOrdSecretData$fShowAESSecretData$fEqAESSecretData$fShowRSAEncryptedKey$fEqRSAEncryptedKey$fOrdRSAEncryptedKey$fShowRSASecretData$fEqRSASecretData$fShowRSASecretBytes$fEqRSASecretBytes$fOrdRSASecretBytes$fShowRSASignature$fEqRSASignature$fOrdRSASignature$fShowEncryptionPacket$fEqEncryptionPacket$fOrdEncryptionPacket$fShowSignaturePacket$fEqSignaturePacket$fOrdSignaturePacket $fShowVoid$fEqVoid $fOrdVoid$fShowEncryptionKey$fEqEncryptionKey$fShowEncrypedCopyData$fEqEncrypedCopyData$fShowEncrypedCopy$fEqEncrypedCopy$fShowEncrypedCopyMap_$fEqEncrypedCopyMap_ $fShowKey_$fEqKey_$fShowNameKeyAssoc_$fEqNameKeyAssoc_ $fShowKeyMap_ $fEqKeyMap_ $fEqSettings$fShowSettings $fShowTrigger $fEqTrigger$fShowTriggerMap_$fEqTriggerMap_$fShowConfiguration_$fEqConfiguration_$fShowKeyStore_ $fEqKeyStore_ $fShowDirctn $fNumOctets$fNumIterationsEncrypedCopyMapKey _key_name _key_comment _key_identity_key_is_binary _key_env_var _key_hash _key_public_key_secret_copies_key_clear_text_key_clear_private_key_created_atKeyMap TriggerMap Configuration _cfg_settings _cfg_triggersKeyStore _ks_config _ks_keymap _text_Cipher _map_Cipher _text_HashPRF _map_HashPRF z_ks_config z_ks_keymapz_cfg_settingsz_cfg_triggers z_tmp_map z_kmp_map z_nka_key z_nka_namez_key_clear_privatez_key_clear_text z_key_commentz_key_created_at z_key_env_var z_key_hashz_key_identityz_key_is_binary z_key_name z_key_publicz_key_secret_copies z_ecm_maptrg_id trg_pattern trg_settings stgs_jsonhash_description hash_hash hashd_commenthashd_iterations hashd_prf hashd_salthashd_salt_octetshashd_width_octets ec_cipher ec_iterationsec_prf ec_safeguardec_saltec_secret_datasg_namesrsd_aes_secret_datarsd_encrypted_keyasd_ivasd_secret_datapuk_epuk_npuk_sizeprk_dprk_dPprk_dQprk_pprk_pubprk_qprk_qinv fragmentID rEP__Pattern iterationsoctets rEP__Nameidentity settingID triggerIDcommentenvVar clearTextsaltiVhashDataaESKey secretDatarSAEncryptedKeyrSASecretBytes rSASignatureencryptionPacketsignaturePacketvoid toKeyStore_ fromKeyStore_ emptyKeyStoretoConfiguration_fromConfiguration_defaultConfiguration toTriggerMap_fromTriggerMap_ toKeyMap_ fromKeyMap_ emptyKeyMaptoKey_fromKey_toEncrypedCopyMapfromEncrypedCopyMap$fFromJSONWithErrsVoid$fFromJSONVoid $fToJSONVoid!$fFromJSONWithErrsSignaturePacket$fFromJSONSignaturePacket$fToJSONSignaturePacket"$fFromJSONWithErrsEncryptionPacket$fFromJSONEncryptionPacket$fToJSONEncryptionPacket$fFromJSONWithErrsRSASignature$fFromJSONRSASignature$fToJSONRSASignature $fFromJSONWithErrsRSASecretBytes$fFromJSONRSASecretBytes$fToJSONRSASecretBytes!$fFromJSONWithErrsRSAEncryptedKey$fFromJSONRSAEncryptedKey$fToJSONRSAEncryptedKey$fFromJSONWithErrsSecretData$fFromJSONSecretData$fToJSONSecretData$fFromJSONWithErrsAESKey$fFromJSONAESKey$fToJSONAESKey$fFromJSONWithErrsHashData$fFromJSONHashData$fToJSONHashData$fFromJSONWithErrsIV $fFromJSONIV $fToJSONIV$fFromJSONWithErrsSalt$fFromJSONSalt $fToJSONSalt$fFromJSONWithErrsClearText$fFromJSONClearText$fToJSONClearText$fFromJSONWithErrsEnvVar$fFromJSONEnvVar$fToJSONEnvVar$fFromJSONWithErrsComment$fFromJSONComment$fToJSONComment$fFromJSONWithErrsTriggerID$fFromJSONTriggerID$fToJSONTriggerID$fFromJSONWithErrsSettingID$fFromJSONSettingID$fToJSONSettingID$fFromJSONWithErrsIdentity$fFromJSONIdentity$fToJSONIdentity$fFromJSONWithErrsName$fFromJSONWithErrsREP__Name$fFromJSONName$fFromJSONREP__Name $fToJSONName$fToJSONREP__Name$fFromJSONWithErrsOctets$fFromJSONOctets$fToJSONOctets$fFromJSONWithErrsIterations$fFromJSONIterations$fToJSONIterations$fFromJSONWithErrsPattern$fFromJSONWithErrsREP__Pattern$fFromJSONPattern$fFromJSONREP__Pattern$fToJSONPattern$fToJSONREP__Pattern$fFromJSONWithErrsFragmentID$fFromJSONFragmentID$fToJSONFragmentID$fFromJSONWithErrsEncryptionKey$fFromJSONEncryptionKey$fToJSONEncryptionKey$fFromJSONWithErrsHashPRF$fFromJSONHashPRF$fToJSONHashPRF$fFromJSONWithErrsCipher$fFromJSONCipher$fToJSONCipher$fFromJSONWithErrsPrivateKey!$fFromJSONWithErrsREP__PrivateKey$fFromJSONPrivateKey$fFromJSONREP__PrivateKey$fToJSONPrivateKey$fToJSONREP__PrivateKey$fFromJSONWithErrsPublicKey $fFromJSONWithErrsREP__PublicKey$fFromJSONPublicKey$fFromJSONREP__PublicKey$fToJSONPublicKey$fToJSONREP__PublicKey$fFromJSONWithErrsAESSecretData$fFromJSONAESSecretData$fToJSONAESSecretData$fFromJSONWithErrsRSASecretData$fFromJSONRSASecretData$fToJSONRSASecretData"$fFromJSONWithErrsEncrypedCopyData$fFromJSONEncrypedCopyData$fToJSONEncrypedCopyData$fFromJSONWithErrsSafeguard $fFromJSONWithErrsREP__Safeguard$fFromJSONSafeguard$fFromJSONREP__Safeguard$fToJSONSafeguard$fToJSONREP__Safeguard$fFromJSONWithErrsEncrypedCopy$fFromJSONEncrypedCopy$fToJSONEncrypedCopy!$fFromJSONWithErrsHashDescription$fFromJSONHashDescription$fToJSONHashDescription$fFromJSONWithErrsHash$fFromJSONHash $fToJSONHash$fFromJSONWithErrsSettings$fFromJSONWithErrsREP__Settings$fFromJSONSettings$fFromJSONREP__Settings$fToJSONSettings$fToJSONREP__Settings$fFromJSONWithErrsTrigger$fFromJSONTrigger$fToJSONTrigger"$fFromJSONWithErrsEncrypedCopyMap_$fFromJSONEncrypedCopyMap_$fToJSONEncrypedCopyMap_$fFromJSONWithErrsKey_$fFromJSONKey_ $fToJSONKey_$fFromJSONWithErrsNameKeyAssoc_$fFromJSONNameKeyAssoc_$fToJSONNameKeyAssoc_$fFromJSONWithErrsKeyMap_$fFromJSONKeyMap_$fToJSONKeyMap_$fFromJSONWithErrsTriggerMap_$fFromJSONTriggerMap_$fToJSONTriggerMap_ $fFromJSONWithErrsConfiguration_$fFromJSONConfiguration_$fToJSONConfiguration_$fFromJSONWithErrsKeyStore_$fFromJSONKeyStore_$fToJSONKeyStore_$fFromJSONWithErrsKeyStore$fFromJSONKeyStore$fToJSONKeyStore$fShowConfiguration$fEqConfiguration $fShowKey$fEqKey$fShowKeyStore $fEqKeyStore ks_config ks_keymap cfg_settings cfg_triggerskey_clear_privatekey_clear_text key_commentkey_created_at key_env_varkey_hash key_identity key_is_binarykey_name key_publickey_secret_copiesOpt_OptEnumDebug__enabledVerify__enabled Sections__fix Backup__keys Hash__comment Hash__prfHash__iterationsHash__width_octetsHash__salt_octets Crypt__cipher Crypt__prfCrypt__iterationsCrypt__salt_octetsOptopt_enumgetSettingsOptgetSettingsOpt'setSettingsOptopt__debug_enabledopt__verify_enabledopt__sections_fixopt__backup_keysopt__hash_comment opt__hash_prfopt__hash_iterationsopt__hash_width_octetsopt__hash_salt_octetsopt__crypt_cipheropt__crypt_prfopt__crypt_iterationsopt__crypt_salt_octetsopt_listSettingsOptsoptHelpoptNameparseOpt $fShowHelp$fBoundedOptEnum $fEnumOptEnum $fEqOptEnum $fOrdOptEnum $fShowOptEnumconfigurationSettingstriggerLogEntryle_debug le_messageState st_keystorest_cprngCtxctx_now ctx_store ctx_settingsKSwithKeytrune2ioe2ksrun_ randomBytes currentTimeputStrKSbtwdebugLogcatchKSerrorKSthrowKSstoreKS lookupOpt getSettings lookupKey insertNewKey insertKey adjustKeyKS deleteKeysKS randomRSArandomKS getKeymap getConfig modConfig $fShowCtx$fShowLogEntry $fFunctorKS$fApplicativeKS $fMonadKS$fMonadErrorKSencocdeEncryptionPacketdecocdeEncryptionPacketEencocdeSignaturePacketdecocdeSignaturePacketEtestBP $fFunctorBP$fApplicativeBP $fMonadBP$fMonadErrorBP sizeAesIVsizeOAE test_cryptodefaultEncryptedCopyKSsaveKS restoreKS mkAESKeyKS encryptKS decryptKSdecryptEencodeRSASecretDatadecodeRSASecretDatadecodeRSASecretData_ encryptRSAKS decryptRSAKS decryptRSAEoaepsignKSverifyKSpssp encryptAESKS encryptAES decryptAESrandomAESKeyKS randomIVKShashKSdefaultHashParamsdefaultHashParamsKShashKS_generateKeysKSgenerateKeysKS_decodePrivateKeyDEREdecodePublicKeyDEREencodePrivateKeyDERencodePublicKeyDER decodeDERE encodeDER keyStoreByteskeyStoreFromBytessettingsFromBytescreateRSAKeyPairKSencryptWithRSAKeyKSencryptWithRSAKeyKS_decryptWithRSAKeyKSdecryptWithRSAKeyKS_signWithRSAKeyKSverifyWithRSAKeyKSencryptWithKeysKSdecryptWithKeysKS createKeyKS rememberKeyKS backupKeysKS secureKeyKSlistKS keyInfoKS getKeysKS loadKeyKSloadEncryptionKeyKS $fShowLine CtxParamscp_storecp_debug cp_readonlyIC ic_ctx_paramsic_cachedefaultCtxParamsdefaultSettingsFilePathsettingsFilePathdefaultKeyStoreFilePath determineCtxestablishState newGenerator readKeyStorescanEnv readSettingserrorIOlogit$fShowCtxParams newKeyStore instanceCtx instanceCtx_store listSettingssettingsupdateSettings listTriggerstriggers addTrigger addTrigger' rmvTriggercreateRSAKeyPair createKey adjustKey rememberKey rememberKey_ secureKeyloadKey showIdentity showCommentshowDateshowHashshowHashComment showHashSalt showPublic showSecretlistkeyInfokeys deleteKeysencryptencrypt_ encrypt__decryptdecrypt_ decrypt__signsign_verifyverify_run getKeystoregetState getCtxState putCtxState RetrieveDgRDG_key_not_reachableRDG_no_such_host_key KeyPredicate KeyDataMode KDM_static KDM_randomKeyData kd_identity kd_comment kd_secret SectionTypeST_top ST_signingST_keysSectionshostDeploySection sectionType superSectionskeyIsHostIndexedkeyIsInSection getKeyDatagetKeyDataWithModesectionSettings describeKeydescribeSectionsectionPWEnvVarCodeencodedecodeSECTIONS initialiserotaterotateIfChangedrotate_retrieve signKeystoreverifyKeystorenoKeysallKeyslistKeyskeyPrededicatekeyHelp sectionHelpsecretKeySummarypublicKeySummary locateKeyskeyNamekeyName_ mkSection $fMonadMunch$fAlternativeMunch$fApplicativeMunch$fFunctorMunch$fShowSectionType$fEqSectionType$fOrdSectionType $fShowKeyData $fEqKeyData$fBoundedKeyDataMode$fEnumKeyDataMode$fEqKeyDataMode$fOrdKeyDataMode$fShowKeyDataMode$fShowRetrieveDg$fEqRetrieveDg$fOrdRetrieveDgCommandVersionKeystore InitialiseUpdateSettings ListSettingsListSettingOpts AddTrigger RmvTrigger ListTriggersCreate CreateKeyPairSecureListInfo ShowIdentity ShowCommentShowDateShowHashShowHashComment ShowHashSalt ShowPublic ShowSecretEncryptDecryptSignVerifyDeleteCLI cli_params cli_commandparseCLI parseCLI'cliInfo cliParser paramsParserrunParse $fShowCommand $fShowCLIversion versionTuple PMCommand PMCD_version PMCD_setup PMCD_login PMCD_import PMCD_loadPMCD_load_plus PMCD_comment PMCD_primePMCD_prime_all PMCD_selectPMCD_delete_passwordPMCD_delete_password_plusPMCD_delete_session PMCD_status PMCD_promptPMCD_passwordsPMCD_passwords_plus PMCD_session PMCD_sessions PMCD_infoPMCD_info_plus PMCD_dump PMCD_collectPMCD_sample_script CollectConfig _cc_optional _cc_activeSessionDescriptor_sd_name _sd_isOneShotPW_PWpwName parsePwName isSession isOneShotenVar summarizedescribePMConfig _pmc_location _pmc_env_var_pmc_keystore_msg_pmc_password_msg _pmc_shell_pmc_hash_descr_pmc_allow_dumps_pmc_dump_prefix_pmc_sample_script_pmc_plus_env_vardefaultCollectConfigpasswordManagerdefaultHashDescriptiondefaultSampleScripthashMasterPasswordbindMasterPasswordsetuplogin passwordValidpasswordValid'isStorePresent amLoggedInisBoundimport_loadloadPlus psCommentcollectprimeselectdeletePassworddeletePasswordPlus deleteSessionstatusprompt passwords passwordsPlussessions infoPassword infoPassword_infoPasswordPlusinfoPasswordPlus_dump collectShellgetStorepasswordManager'pmCommandParser$fShowSessionDescriptor$fShowPMCommandclicli'execute backupKeyKSbytestring-0.10.8.2Data.ByteString.Internal ByteStringRetrieve keySectionimport__ is_primedlookup_sessionlookup_sessionsget_pw prime_charbaseGHC.Num+- format_dumpmerge_psparsePMCommand