.&     AGPL-3Kinoru TemporaryPOSIXSafeRead an entire file at the  strictly into a .Write a  to a file at the .l !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None0       AGPL-3Kinoru ProvisionalPOSIXNone Read bytes from  /dev/urandom.The  #https://www.tarsnap.com/scrypt.htmlscrypt key derivation function from Crypto.KDF.Scrypt. The parameters are:*CPU/memory cost parameter N = 16384 (2^14)SMix function parameter r = 8Parallelization parameter p = 1@Intended output length dkLen = 32 (for use in ChaCha20-Poly1305)Encrypt the given  using the  #https://tools.ietf.org/html/rfc7539ChaCha20-Poly1305 scheme from Crypto.Cipher.ChaChaPoly1305. The resulting ? is nonce (12 bytes) ++ ciphertext ++ the auth tag (16 bytes).!Encryption of unbreak file names.BEncryption without the auth tag and without the optional header. ^ is almost always the better choice. Use this function only when you know what you are doing. Decrypt a  that is produced by the  function.!Decryption of unbreak file names.)Decryption without the auth tag checking. inputsaltoutput (32 bytes)4nonce (12 random bytes, must be different each time)the secret symmetric keythe plaintext to be encrypted&ciphertext with a 128-bit tag attached file namekeynonce (12 random bytes)the secret symmetric keyinput plaintext to be encryptedthe resulting ciphertextthe secret symmetric key&the input (nonce ++ ciphertext ++ tag)the decrypted plaintextdecrypted plaintextthe nonce used for encryptionthe secret symmetric key input ciphertext to be decryptedthe resulting plaintext   AGPL-3Kinoru ProvisionalPOSIXNone Creates the ~/.unbreak.json6 file with the default configuration if it's missing.Given a filename, try copying the file from the remote to a temporary shared memory space, open it with the text editor specified in the config file, and copy it back to the remote. Shell command scp must exist.>Pick a local file, encrypt it, and send to the remote storage.3Force upload even when the file name already exists       !"# $% &' &( &) &* &+ &, &- &. &/ &0 &1 &2 &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 &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 ${ $| $} $~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $unbre_HVOPVXf01za9BX23xZZdvpUnbreak.FormatData.ByteString.OverheadFreeUnbreak.Crypto Unbreak.Runaeson_ETPkjsw4IpzE7DmwxmI0JOData.Aeson.Types.Class parseJSONFromJSONreadFile writeFileConfnameremoteeditor EncodeJSONencdecinitConfgetRandomBytesscryptencryptencryptFileNamedecryptdecryptFileNamerunInitrunOpen runLogoutrunAddunix_A3WgcI5QiHK4PDo4jSYdwQ System.Posix.ByteString.FilePath RawFilePathbytes_6elQVSg5cWdFrvRnfxTUrHData.ByteString.Internal ByteString defaultFlagsData.ByteStringemptyData.ByteString.Char8putStrLn hPutStrLn appendFile readIntegerreadIntunwordswordsunlineslinesunzipzipWithzipfindfilternotElemelemcount findIndices findIndex elemIndices elemIndexEnd elemIndexindexgroupBy splitWithsplitbreakEndspanEndspanbreak dropWhile takeWhileunfoldrNunfoldr replicatescanr1scanrscanl1scanl mapAccumR mapAccumLminimummaximumallany concatMapfoldr1'foldr1foldl1'foldl1foldr'foldrfoldl'foldl interspersemaplastheadunsnocunconssnocconsunpackpack singletoninteract getContents hGetContentshGetSomehGetNonBlockinghGetputStrhPutStrhPutNonBlockinghPuthGetLinegetLinecopypackCStringLen packCStringuseAsCStringLen useAsCStringsorttailsinitsfindSubstrings findSubstringbreakSubstring isInfixOf isSuffixOf isPrefixOf intercalategroupsplitAtdroptakeconcat transposereverseappendinittaillengthnullencBase$fEncodeJSONConf $fToJSONConf$fFromJSONConf encryptNoAuth decryptNoAuth++encrypt'decrypt'word32LEencodeword32LEdecodecrypt_EcXB9nPiYzLCXhzuNtOjZOCrypto.Error.TypesmaybeCryptoErroreitherCryptoErroronCryptoFailurethrowCryptoErrorthrowCryptoErrorIO(CryptoError_AuthenticationTagSizeInvalidCryptoError_MacKeyInvalid#CryptoError_SharedSecretSizeInvalid CryptoError_PublicKeySizeInvalid%CryptoError_SecretKeyStructureInvalid CryptoError_SecretKeySizeInvalid CryptoError_AEADModeNotSupportedCryptoError_IvSizeInvalidCryptoError_KeySizeInvalid CryptoError CryptoFailed CryptoPassedCryptoFailable sessionPath getHomePathsessiongetConfeditRemoteFileencryptAndSend encryptCopy withNoEchoruntryRun