N#K     None{A file bundle header. Contains basic metadata about the bundle itself, and the metadata for all files contained therein.?A hash map from file paths to the respective offsets and sizes.Static part of the header.#The static header of a file bundle.QThe offset from the end of the file to the beginning of the file data section.$Total number of files in the bundle.ZSize of the dynamic part of the header, where file names, offsets and sizes are stored.IVersion of the bundle structure. Must always be less than or equal to Magic number. Must always be .;"Magic number" identifying a structure as a bundle header: BNDLLDNB%Current version of the bundle format.*Maximum file size of a file in the bundle.HSize of the bundle's static header: two Word64 + two Word32 + one Word8.Build a static header with the specified number of files, size of the dynamic header, and offset to the start of the data section. !"#$% !"#$  !"#$%None=A handle to a file bundle. Bundle handles are obtained using  or B and start out as open. That is, files may be read from them. An open bundle contains an open file handle to the bundle's backing file, ensuring that the file data will not disappear from under it. When a bundle becomes unreachable, its corresponding file handle is closed by the bundle's associated finalizer.However, as finalizers are not guaranteed to run promptly - or even at all - bundles may also be closed before becoming unreachable using }. If you expect to perform other operations on a bundle's backing file, you should always close the bundle manually first.&The header of the bundle.';An open handle to the bundle's file, for reading file data.(EThe offset from the end of the file to the start of the data section.);Lock to ensure thread safety of read/close operations. Iff *C, then the bundle is still alive, i.e. the handle is still open.nA file to be included in a bundle. May be either the path to a file on disk or an actual (path, data) pair. If a file path refers to a directory, all non-dotfile files and subdirectories of that directory will be included in the bundle. File paths also have a strip number: the number of leading directories to strip from file names when adding them to a bundle. For instance, adding File 1 "foo/bar"" to a bundle will add the file foo/bar, under the name bar within the bundle.pIf a file name would "disappear" entirely due to stripping, for instance when stripping two directories from foo/bar, bar> will "disappear" entirely and so will be silently ignored.+3Read a bundle static header from the end of a file.Open a file bundle. The bundle will keep an open handle to its backing file. The handle will be closed when the bundle is garbage collected. Use  to close the handle before the Close a bundle before it becomes unreachable. After a bundle is closed, any read operations performed on it will fail as though the requested file could not be found. Subsequent close operations on it will have no effect.Perform a computation over a bundle, returning an error if either the computation failed or the bundle could not be loaded. The bundle is always closed before this function returns, regardless of whether an error occurred.Write a bundle to a file. If the given file already has a bundle, the new bundle will be written *after* the old one. The old bundle will thus still be present in the file, but only the new one will be recognized by  and friends.Read a file from a previously opened bundle. Will fail of the given path is not found within the bundle, or if the bundle is no longer alive, i.e. it has been closed using . HList all files in the given bundle. Will succeed even on closed bundles. Like R, but attempts to decode the file's contents into an appropriate Haskell value. ,Does the given file contain a bundle or not? Remove a bundle from an existing file. Does nothing if the given file does not have a bundle. The given file is *not* removed, even if it only contains the bundle. JReplace the bundle currently attached to the given file. Equivalent to ; if the given file does not already have a bundle attached.,&'()+ -    ,&'()+ -NonerHandle to this application's embedded file bundle. Throws an error upon evaluation if the application has none.wReturns the specified embedded file, or Nothing if it does not exist or this executable has no embedded file bundle.Like c, but throws an error if the given file does not exist in the executable's embedded file bundle..      !"#$%&'()*+,-./01datae_BfLZh0BVOCcGF7a3C56oKmData.Embed.File Data.EmbedData.Embed.HeaderBundleFileFilePathFileData openBundle closeBundle withBundle appendBundlereadBundleFilelistBundleFiles readBundle hasBundle eraseBundle replaceBundlemyBundle embeddedFile embeddedFile' BundleHeaderhdrFiles hdrStatic StaticHeader hdrDataOffset hdrNumFiles hdrDynSize hdrVersionbundleCurrentVersionhdrMagicNumberbundleMagicNumberbundleMaxFileSizebundleHeaderStaticSize mkStaticHdrFileMap getHdrFile getHdrFiles putHdrFiles$fSerializeStaticHeader bundleHeader bundleHandlebundleDataOffset bundleLockghc-prim GHC.TypesTruereadStaticHeader$fIsStringFile