golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE=
-golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210503060354-a79de5458b56 h1:b8jxX3zqjpqb2LklXPzKSGJhzyxCOZSz8ncv8Nv+y7w=
+golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 
+++ /dev/null
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package term
-
-import (
-       "io"
-       "syscall"
-
-       "golang.org/x/sys/unix"
-)
-
-// State contains the state of a terminal.
-type state struct {
-       termios unix.Termios
-}
-
-func isTerminal(fd int) bool {
-       _, err := unix.IoctlGetTermio(fd, unix.TCGETA)
-       return err == nil
-}
-
-func readPassword(fd int) ([]byte, error) {
-       // see also: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libast/common/uwin/getpass.c
-       val, err := unix.IoctlGetTermios(fd, unix.TCGETS)
-       if err != nil {
-               return nil, err
-       }
-       oldState := *val
-
-       newState := oldState
-       newState.Lflag &^= syscall.ECHO
-       newState.Lflag |= syscall.ICANON | syscall.ISIG
-       newState.Iflag |= syscall.ICRNL
-       err = unix.IoctlSetTermios(fd, unix.TCSETS, &newState)
-       if err != nil {
-               return nil, err
-       }
-
-       defer unix.IoctlSetTermios(fd, unix.TCSETS, &oldState)
-
-       var buf [16]byte
-       var ret []byte
-       for {
-               n, err := syscall.Read(fd, buf[:])
-               if err != nil {
-                       return nil, err
-               }
-               if n == 0 {
-                       if len(ret) == 0 {
-                               return nil, io.EOF
-                       }
-                       break
-               }
-               if buf[n-1] == '\n' {
-                       n--
-               }
-               ret = append(ret, buf[:n]...)
-               if n < len(buf) {
-                       break
-               }
-       }
-
-       return ret, nil
-}
-
-func makeRaw(fd int) (*State, error) {
-       // see http://cr.illumos.org/~webrev/andy_js/1060/
-       termios, err := unix.IoctlGetTermios(fd, unix.TCGETS)
-       if err != nil {
-               return nil, err
-       }
-
-       oldState := State{state{termios: *termios}}
-
-       termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON
-       termios.Oflag &^= unix.OPOST
-       termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN
-       termios.Cflag &^= unix.CSIZE | unix.PARENB
-       termios.Cflag |= unix.CS8
-       termios.Cc[unix.VMIN] = 1
-       termios.Cc[unix.VTIME] = 0
-
-       if err := unix.IoctlSetTermios(fd, unix.TCSETS, termios); err != nil {
-               return nil, err
-       }
-
-       return &oldState, nil
-}
-
-func restore(fd int, oldState *State) error {
-       return unix.IoctlSetTermios(fd, unix.TCSETS, &oldState.termios)
-}
-
-func getState(fd int) (*State, error) {
-       termios, err := unix.IoctlGetTermios(fd, unix.TCGETS)
-       if err != nil {
-               return nil, err
-       }
-
-       return &State{state{termios: *termios}}, nil
-}
-
-func getSize(fd int) (width, height int, err error) {
-       ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ)
-       if err != nil {
-               return 0, 0, err
-       }
-       return int(ws.Col), int(ws.Row), nil
-}