func newZipOpenerFromReader(r io.ReaderAt, size int64) zipOpener {
	return &zipReaderOpener{
		r:    r,
		size: size,
	}
}
// newZipOpenerFromReader returns a zipOpener that can be
// used to read the archive from the given ReaderAt
// holding the given number of bytes.
newZipOpenerFromReader returns a zipOpener that can be
used to read the archive from the given ReaderAt
holding the given number of bytes.
// newZipOpenerFromReader returns a zipOpener that can be // used to read the archive from the given ReaderAt // holding the given number of bytes .
func newZipOpenerFromReader(r io.ReaderAt, size int64) zipOpener {
	return &zipReaderOpener{
		r:    r,
		size: size,
	}
}
func newZipOpenerFromReader ( r io . ReaderAt , size int64 ) zipOpener { return & zipReaderOpener { r : r , size : size , } }
newZipOpenerFromReader returns a zipOpener that can be
used to read the archive from the given ReaderAt
holding the given number of bytes.
newZipOpenerFromReader returns a zipOpener that can be used to read the archive from the given ReaderAt holding the given number of bytes .