func (cr *cipherBlockReader) ReadByte() (byte, error) {
	for {
		if cr.n < len(cr.outbuf) {
			c := cr.outbuf[cr.n]
			cr.n++
			return c, nil
		}
		if cr.err != nil {
			err := cr.err
			cr.err = nil
			return 0, err
		}
		// refill outbuf
		var n int
		n, cr.err = cr.read(cr.outbuf[:cap(cr.outbuf)])
		cr.outbuf = cr.outbuf[:n]
		cr.n = 0
	}
}
func (cr *cipherBlockReader) ReadByte() (byte, error) {
	for {
		if cr.n < len(cr.outbuf) {
			c := cr.outbuf[cr.n]
			cr.n++
			return c, nil
		}
		if cr.err != nil {
			err := cr.err
			cr.err = nil
			return 0, err
		}
		
		var n int
		n, cr.err = cr.read(cr.outbuf[:cap(cr.outbuf)])
		cr.outbuf = cr.outbuf[:n]
		cr.n = 0
	}
}
func ( cr * cipherBlockReader ) ReadByte ( ) ( byte , error ) { for { if cr . n < len ( cr . outbuf ) { c := cr . outbuf [ cr . n ] cr . n ++ return c , nil } if cr . err != nil { err := cr . err cr . err = nil return 0 , err } // refill outbuf var n int n , cr . err = cr . read ( cr . outbuf [ : cap ( cr . outbuf ) ] ) cr . outbuf = cr . outbuf [ : n ] cr . n = 0 } }
// ReadByte returns the next decrypted byte.
ReadByte returns the next decrypted byte .